gpt4 book ai didi

php - PDO 准备语句 - NULL

转载 作者:可可西里 更新时间:2023-11-01 12:36:39 24 4
gpt4 key购买 nike

我有一个正在运行的删除查询,但我意识到当 $user_id 为 null(在某些情况下会发生)时这不起作用。

$id = 1;
$user_id = null;
$delete = $sql->prepare("
DELETE FROM
`game_player`
WHERE
`id` = ?
AND
`user_id` = ?
");
if ($delete->execute(array(
$id,
$user_id,
));

除了在值为 null 时进行不同的查询之外,是否还有其他解决方法,因为显然使 where 正常工作的唯一方法是使用 user_id IS NULL 而不是 user_id =空值...

最佳答案

DELETE FROM
`game_player`
WHERE
`id` = ?
AND
(`user_id` = ? OR ? IS NULL)

andor 运算符混合使用时,请注意括号是否正确。

如果 $user_id 不是真正的 php 类型 null,而是一个空字符串,您应该这样修改上面的内容:

...
AND
(`user_id` = ? OR ? = '')

关于php - PDO 准备语句 - NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com