MySQLi更新查询 - 使用参数化查询增加值

时间:2014-08-06 09:32:16

标签: php mysqli

基本上我只是试图将columnA中的值增加1,但我希望使用参数化的mysqli查询来实现。现有值可以是null,空白或数字,但如果是前两个,则查询应该将其视为0并将其递增1.示例here不带参数。

我现有的代码在这里 - 停留在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();

1 个答案:

答案 0 :(得分:2)

为什么要尝试将记录值currentkey + 1(非PHP变量)放入预准备语句中?

你能尝试一下:

//...
$prepare = $this->db->prepare("UPDATE userinfo SET idarray = ?, currentkey = currentkey + 1 WHERE id = ?");
$prepare->bind_param('si', serialize($numbers), $ID);
$prepare->execute();
// ...

如果您考虑一下,currentkey + 1不是来自PHP的参数,您的SQL引擎就知道该值以及如何进行总和