[英]php mysqli update table with same data return 0 affected row
在MySQL數據庫中,我有一個表名data
。 在此表中有多個字段。
目前, Field1
具有test
值。 現在,用戶想要更新表,然后將值放入test
中。
我的查詢失敗,因為您可以看到未執行echo "Database updated"
。
似乎受影響的行返回0。
$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 'test' WHERE `key` = ?")
$stmt->bind_param("s", $mykey);
$stmt->execute();
$nrows = $stmt->affected_rows;
if ($nrows== 1) {
echo "Database updated."
}
我想知道如何設計此查詢以使其正常工作。 如果新值與現有值相同。
謝謝。
從更改查詢
"UPDATE `data` SET `field1` = 1 WHERE `key` = (?)"
至
"UPDATE `data` SET `field1` = 1 WHERE `key` = ?"
因為如果在現有查詢中綁定參數,則它將返回類似(2)
並且在數據庫中肯定不匹配。
您的查詢中的remove ()
是錯誤的SQL語法:
stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 1 WHERE `key` = ?")
另外,您應該在執行SQL查詢后檢查錯誤。 在這里查看如何使用mysqli_error做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.