Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Binden Sie IS NULL oder NULL, wenn Sie PHP PDO und MySql verwenden

AKTUALISIEREN. Nach und nach habe ich gelernt, dass alles in einer Abfrage erledigt werden kann

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

Sie müssen auch Ihre Anfrage ändern.

$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);