我有这段代码
$SQL = "UPDATE cart SET a = ? WHERE b = ? AND c = ?";
if($stmt2 = mysqli_prepare($conn, $SQL )){
mysqli_stmt_bind_param($stmt2, "iii", $a1, $b1, $c1);
mysqli_stmt_execute($stmt2);
if(mysqli_affected_rows($conn)){
echo "updated";
mysqli_stmt_close($stmt2);
}
else
echo "nope";
}
我正在弄清楚为什么上面的代码永远不会工作。我已经调试了我知道的每一种方式。
最后我删除if条件。不知何故,它正在发挥作用。试图浏览互联网,找出原因,但没有发现任何原因。有人可以向我解释为什么会这样? 我是mysqli的新手。真的需要帮助:)谢谢!
答案 0 :(得分:2)
您应该使用
mysqli_stmt_affected_rows($stmt2);
mysqli_stmt :: $ affected_rows - mysqli_stmt_affected_rows - 返回上次执行的语句更改,删除或插入的总行数
而不是
mysqli_affected_rows($conn);
用于普通查询执行。
<强> Manual 强>
修改强>
我刚注意到你的问题标题提到正确的函数名称,而你的代码使用了错误的。