[英]MySQLi update query - increment value with parameterized query
本質上,我只是想將columnA
中的值增加 1,但我想使用參數化的 mysqli 查詢來這樣做。 現有值可能是 null、空白或數字,但如果是前兩者,則查詢應將其視為 0 並將其遞增 1。 此處的示例沒有參數。
我現有的代碼在這里 - 停留在 bind_param 步驟:
$prepare = $this -> db -> prepare("UPDATE userinfo SET idarray = ?, currentkey = ? WHERE id = ?");
$prepare -> bind_param('sii', serialize($numbers), currentkey + 1, $ID);
$prepare -> execute();
if ($prepare -> errno)
{
echo $prepare -> error;
}
$prepare -> close();
為什么要嘗試將記錄值currentkey + 1
(非 PHP 變量)放入准備好的語句中?
你可以試試:
//...
$serialized_numbers = serialize($numbers);
$prepare = $this->db->prepare("UPDATE userinfo SET idarray = ?, currentkey = currentkey + 1 WHERE id = ?");
$prepare->bind_param('si', $serialized_numbers, $ID);
$prepare->execute();
// ...
如果您考慮一下,您的currentkey + 1
不是 PHP 的參數,您的 SQL 引擎知道該值以及如何求和
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.