簡體   English   中英

MySQLi 更新查詢 - 使用參數化查詢增加值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM