我想从这个代码更新数据库中的表没有更新表,但它一直返回一个致命错误的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) –