Heim >Datenbank >MySQL-Tutorial >Wie kann ich echte NULL-Werte in von MySQLi vorbereiteten Anweisungen speichern?
Echte NULL-Werte in vorbereiteten MySQLi-Anweisungen speichern
In einer vorbereiteten Anweisung in MySQLi besteht das Standardverhalten für einen NULL-Wert darin, ihn zu konvertieren zu einer leeren Zeichenfolge ('') im Fall einer Zeichenfolge oder 0 im Fall einer Ganzzahl. Wenn Sie jedoch lieber den NULL-Wert beibehalten möchten, gibt es einen bestimmten Ansatz, den Sie wählen können.
Verwendung des MySQL NULL Safe Operators
Um einen echten NULL-Wert zu speichern Um eine von MySQLi vorbereitete Anweisung zu verwenden, müssen Sie den sicheren MySQL-NULL-Operator verwenden:
<=>
Dieser Operator stellt sicher, dass eine Spalte auf Gleichheit oder Ungleichheit mit NULL verglichen wird. Zum Beispiel:
$price = NULL; // Note: Using php NULL without quotes
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price <=> ?"); // Selects products with NULL prices
$stmt->bind_param($price);
In diesem Beispiel ruft die Abfrage Produkte ab, bei denen die Preisspalte NULL ist. Ohne den sicheren NULL-Operator hätte die Abfrage keine Ergebnisse zurückgegeben, da NULL nicht gleich einer leeren Zeichenfolge oder 0 ist.
Beispiel
Der folgende PHP-Code demonstriert So verwenden Sie den sicheren NULL-Operator in einer vorbereiteten Anweisung:
$firstName = NULL;
$lastName = "Doe";
$stmt = $mysqli->prepare("UPDATE users SET first_name <=> ?, last_name = ?");
$stmt->bind_param("ss", $firstName, $lastName);
$stmt->execute();
Diese Abfrage würde den Benutzer mit dem angegebenen Nachnamen aktualisieren und den NULL-Wert für den Vornamen beibehalten.
Das obige ist der detaillierte Inhalt vonWie kann ich echte NULL-Werte in von MySQLi vorbereiteten Anweisungen speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!