3 回答

TA貢獻1895條經驗 獲得超3個贊
修復查詢中的問題
您在查詢和值參數中傳遞了 8 個參數 您傳遞了 9 個參數 "'$user', 0, , '$payment_gross'" 只需在 "0," 后刪除一個 ","

TA貢獻2003條經驗 獲得超2個贊
$odb 的類型是什么?如果它是一個 PDO 對象,你應該調用
$odb->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
這樣調用query將顯示錯誤是什么。
但是,從查看您的 SQL 來看,您似乎有 8 個命名參數,但值列表中有 9 個,盡管其中一個是空的。因此,請確保您傳遞了正確的參數。
- 編輯 -
查看上面的代碼,頂部似乎有額外的逗號。我已經整理了您的代碼并添加了錯誤捕獲。
它會將您的代碼結果寫入文件results.txt。調用此方法后,查看此文件以查看發生了什么。
$insertOrder='?';
$error='?';
try
{
$ordername = $_POST['item_name'];
$user = $_SESSION['username'];
$payment_gross = $_POST['mc_gross'];
$odb->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$insertOrder = $odb -> query("INSERT INTO orders (`ordername`, `content`, `status`, `list`, `username`, `date`, `price`) VALUES ('$ordername', 0, 0, 0,'$user', 0,'$payment_gross')");
}
catch (Exception $ex)
{
$error=$ex->getMessage();
}
file_put_contents('results.txt',"error: $error - sqlresult: $insertOrder");

TA貢獻1796條經驗 獲得超7個贊
嘗試這個。
$ordername = $_POST['item_name'];
$user = $_SESSION['username'];
$payment_gross = $_POST['mc_gross'];
$insertOrder = $odb -> query("INSERT INTO orders (id, ordername, content, status, list, sername, date, price)
VALUES(NULL, '$ordername', 0, 0, 0, '$user', 0, '$payment_gross')");
- 3 回答
- 0 關注
- 141 瀏覽
添加回答
舉報