Seit diese Frage geschrieben wurde, hat mysql einen Raumschiffoperator eingeführt das erlaubt uns, eine reguläre Abfrage zu verwenden, um einen Nullwert abzugleichen
WHERE fieldName <=> :fieldName;
stimmt sowohl mit null
überein oder irgendein Nicht-Null-Wert.
Schreiben Sie also gleich Ihre Abfrage und führen Sie sie wie gewohnt aus
$stmt = $db->prepare('SELECT field FROM table WHERE fieldName <=> :fieldName;');
$stmt->execute(['fieldName' => null]);
$result = $stmt->fetchAll(); // whatever fetch method is suitable
Und bei dynamisch erstellten Abfragen ist es egal.