php - 使用 PHP PDO 和 MySql 时绑定(bind) IS NULL 或 NULL

标签 php mysql pdo

如何在以下情况下绑定(bind) NULL。无论我做什么,我都无法让它发挥作用。

if ($type == 1) {
    $self   = 'NULL';
    $parent = 'NULL';
}

$findThis = $conn->prepare('select count(id) as exists from table where id = :id and self = :self and parent = :parent';

$findThis->execute(array(
    ":id"     => $id,
    ":self"   => $self,
    ":parent" => $parent
));

最佳答案

更新。通过一个 by 我了解到所有的事情都可以在一个查询中完成

$sql = 'select 1 from table where id = ? and self <=> ? and parent <=> ?';
$stm = $conn->prepare($sql);
$stm->execute([$id,$self,$parent]);
$exists = $stm->fetchColumn();

您还必须修改您的查询。

$sql = 'select count(id) as exists from table where id = ? and ';

if ($type == 1) {
    $sql .= 'self IS NULL and parent IS NULL'
    $data = [$id];
} else {
    $sql .= 'self = ? and parent = ?';
    $data = [$id,$self,$parent];
}
$stm = $conn->prepare($sql);
$stm->execute($data);

关于php - 使用 PHP PDO 和 MySql 时绑定(bind) IS NULL 或 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18735955/

相关文章:

java - 将 Java 连接到 PHP 进行多人游戏

php - 是否可以将 YAML 文件注入(inject) Symfony 中的服务?

php - 连接到 mongodb 服务器时为 "Invalid ns"

Mysql触发器在插入之前删除数据

php - MySQL - 通过查询返回关联数组

php - fatal error : Using $this when not in object context with pdo wrapper class

php - 如何将多个表与 Laravel 结合?

mysql - 错误,使用 PDO 与 mysql 的连接过多显示了我们的数据库用户名和密码?

mysql 如何恢复表的部分数据

php - PDO fetch 在 PHP 中总是返回 false