我想從這個代碼更新數據庫中的表沒有更新表,但它一直返回一個致命錯誤的mysqli bind_param數據庫
$stmt = $mysqli->prepare("UPDATE $tbl_name SET cart = ? WHERE username = $myUsername");
$stmt->bind_param('s', $chosenParts2);
$stmt->execute();
$stmt->close();
我想從這個代碼更新數據庫中的表沒有更新表,但它一直返回一個致命錯誤的mysqli bind_param數據庫
$stmt = $mysqli->prepare("UPDATE $tbl_name SET cart = ? WHERE username = $myUsername");
$stmt->bind_param('s', $chosenParts2);
$stmt->execute();
$stmt->close();
你的SQL語句是錯誤的。所以evtl.表或字段不存在。因此,只要調試
UPDATE $tbl_name SET cart = ? WHERE username = $myUsername
只需添加下面的可能後$ mysqli->準備
echo $mysqli->error;
,它應該很清楚爲什麼會得到這個錯誤。錯誤未知列是因爲$ myUsername沒有被轉義,你只需綁定這個變量。
$stmt = $mysqli->prepare("UPDATE $tbl_name SET cart = ? WHERE username = ?");
$stmt->bind_param('ss', $chosenParts2, $myUsername);
$stmt->execute();
$stmt->close();
你能發表致命錯誤嗎? – Kordi
致命錯誤:調用位於/home/jeffgogu/public_html/RaptorCPU/pages/cart.php上的非對象的成員函數bind_param(第178行) – Jeff
可能的重複[如何防止PHP中的SQL注入? ](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –