Bind IS NULL или NULL при использовании PHP PDO и MySql

Как связать 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 )); 

Solutions Collecting From Web of "Bind IS NULL или NULL при использовании PHP PDO и MySql"

ОБНОВИТЬ. Я узнал, что все можно сделать в одном запросе

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

Для нулевых значений вместо этого вы должны использовать IS NULL в sql.