Der Null-Parameter der PHP / MySQL / PDO-Bindung funktioniert nicht

Ich habe Probleme beim Binden eines Null-Parameters im folgenden Code

$nullVariable = NULL;
$sql = new PDO('mysql:host=' . $Server, $User, $Password);
$sql->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$statement = $sql->prepare("SELECT * FROM Table WHERE Binary16Column = :uuid");
$statement->bindParam(":uuid", $nullVariable, PDO::PARAM_NULL);
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);

Die Ergebnisvariable ist ein leeres Array. Wenn ich keine Parameter verwende und meine Abfrage in "WHERE Binary16Column IS NULL" ändere, wird die erwartete Anzahl von Zeilen zurückgegeben. Das Problem muss also darin bestehen, wie ich mit dem Parameter umgehe, und nicht in meiner SQL-Abfrage.

Mein Code ist komplexer als der oben aufgeführte, und ich muss in der Lage sein, eine Parametervariable zu verwenden, die null sein kann. Daher ist es weniger als ideal, zu überprüfen, ob die Variable null ist und eine andere Abfrage auszuführen. Technisch habe ich meine eigene Funktion zum Einstellen von Parametern. Hier überprüfe ich, ob der Inhalt der Variablen null ist, und binde den Parameter entsprechend, sodass ich nicht unnötig viele Abfragen schreiben muss. Die Abfrage funktioniert auch, wenn die Variable gültige Daten enthält und der Parametertyp PARAM_LOB ist.

Weiß jemand, was ich falsch mache? Danke vielmals!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage