我有这个代码
$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";
}
Run Code Online (Sandbox Code Playgroud)
我正在弄清楚为什么上面的代码永远不起作用。我已经用我所知道的一切方式进行了调试。
最后我删除了 if 条件。不知何故,它正在发挥作用。试图在互联网上浏览以找出原因,但没有找到任何原因。有人可以向我解释一下为什么会这样吗?
你应该使用
\n\nmysqli_stmt_affected_rows($stmt2);\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\nmysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows \xe2\x80\x94 返回最后执行的语句更改、删除或插入的总行数
\n
代替
\n\nmysqli_affected_rows($conn);\nRun Code Online (Sandbox Code Playgroud)\n\n这是用于普通查询执行的。
\n\n\n\n编辑
\n\n我刚刚注意到您的问题标题提到了正确的函数名称,而您的代码使用了错误的函数名称。
\n