Heim >Datenbank >MySQL-Tutorial >Wie kann ich echte NULL-Werte in von MySQLi vorbereiteten Anweisungen speichern?

Wie kann ich echte NULL-Werte in von MySQLi vorbereiteten Anweisungen speichern?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 17:55:29340Durchsuche

How Can I Store True NULL Values in MySQLi Prepared Statements?

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 &lt;=&gt; ?"); // 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 &lt;=&gt; ?, 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn