mysqli bind_param不更新数据库中的表

时间:2016-03-01 13:48:14

标签: mysqli

我尝试使用此代码更新数据库中的表,但它仍然会返回致命错误

        $stmt = $mysqli->prepare("UPDATE $tbl_name SET cart = ? WHERE username = $myUsername");
        $stmt->bind_param('s', $chosenParts2);
        $stmt->execute(); 
        $stmt->close();

1 个答案:

答案 0 :(得分:0)

您的SQL语句错误。所以evtl.表或字段不存在。所以只需调试

UPDATE $tbl_name SET cart = ? WHERE username = $myUsername 

在$ mysqli-> prepare

之后添加以下内容
echo $mysqli->error;

并且应该清楚为什么会出现此错误。错误未知列是因为$ myUsername未被转义,您只需绑定此变量。

$stmt = $mysqli->prepare("UPDATE $tbl_name SET cart = ? WHERE username = ?");
$stmt->bind_param('ss', $chosenParts2, $myUsername);
$stmt->execute(); 
$stmt->close();