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
Freigeben: 2024-11-03 17:55:29
Original
350 Leute haben es durchsucht

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:

<=>
Nach dem Login kopieren

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);
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage