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