加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – PDO准备语句 – NULL

发布时间:2020-12-13 13:28:02 所属栏目:PHP教程 来源:网络整理
导读:我有一个正在运行的删除查询,但只是意识到当$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,
我有一个正在运行的删除查询,但只是意识到当$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时有不同的查询,因为显然唯一的方法是使用user_id IS NULL而不是user_id = NULL …

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

混合时或与运算符一起使用时要小心括号.

如果$user_id实际上不是php类型为null,而是说一个空字符串,则应该修改上面的内容:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读