0
我有這樣的代碼mysqli_stmt_affected_rows不起作用的更新準備的語句
$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的新手。真的需要幫助:)謝謝!
在打開'<?php'標記'error_reporting(E_ALL)後立即向文件頂部添加錯誤報告; ini_set('display_errors',1);'你是否在做任何錯誤檢查?你確定你連接? 'mysqli_affected_rows($ conn)'將返回一個零或一個數字,並且*將始終爲真*。你應該測試一個正整數來知道更新是否發生。 –
將'echo「nope」'更改爲'echo mysqli_error($ conn)',以便查看if if失敗的原因。 – Barmar
更改....使用對象的整個代碼。 – Devon