Heim  >  Artikel  >  Datenbank  >  Wie bleiben echte NULL-Werte in von MySQLi vorbereiteten Anweisungen erhalten?

Wie bleiben echte NULL-Werte in von MySQLi vorbereiteten Anweisungen erhalten?

DDD
DDDOriginal
2024-11-04 12:06:02470Durchsuche

How to Preserve True NULL Values in MySQLi Prepared Statements?

NULL-Werte in vorbereiteten MySQLi-Anweisungen bearbeiten

Bei der Verwendung von vorbereiteten MySQLi-Anweisungen kann der Umgang mit NULL-Werten etwas schwierig sein. Standardmäßig konvertiert MySQLi NULL-Werte in leere Zeichenfolgen ('') für Zeichenfolgen und 0 für Ganzzahlen. Es gibt jedoch Szenarien, in denen Sie möglicherweise den tatsächlichen NULL-Wert beibehalten möchten.

Wahre NULL-Werte beibehalten

Um einen echten NULL-Wert in einer von MySQLi vorbereiteten Anweisung zu speichern, Sie können den MySQL NULL Safe Operator (<>=) verwenden. Mit diesem Operator können Sie NULL-Werte korrekt vergleichen.

Beispiel:

<code class="php">$price = NULL;
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price <> ?");
$stmt->bind_param('s', $price); // Bind the price as a string</code>

In diesem Beispiel wählt der SMT Zeilen aus der Tabelle „Produkt“ aus, in denen die Die Spalte „Preis“ ist NULL. Das <> Der Operator wird verwendet, um sowohl NULL- als auch Nicht-NULL-Werte zu prüfen, sodass Sie NULL-Vergleiche genau durchführen können.

Zusätzliche Hinweise:

  • Bei Verwendung von NULL Für den sicheren Operator müssen Sie das richtige Bindungsformat basierend auf dem Datentyp der Spalte verwenden. Binden Sie beispielsweise eine NULL-Ganzzahl als Ganzzahltyp statt als Zeichenfolgentyp.
  • Seien Sie vorsichtig, wenn Sie den sicheren NULL-Operator mit anderen Werten als NULL verwenden. Es kann zu unerwarteten Ergebnissen führen, wenn es mit Werten ungleich NULL verwendet wird.

Das obige ist der detaillierte Inhalt vonWie bleiben echte NULL-Werte in von MySQLi vorbereiteten Anweisungen erhalten?. 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