Einfügung von Nullwerten in PHP/MySQL
Beim Importieren von Daten aus einer MySQL-Tabelle in eine andere kann das Einfügen von Nullwerten problematisch sein. Wenn ein Array-Wert null ist und das entsprechende Datenbankfeld Nullwerte zulässt, schlägt das Einfügen möglicherweise fehl.
Ursprüngliche Abfrage mit Problem
<code class="php">$results = mysql_query("select * from mytable"); while ($row = mysql_fetch_assoc($results)) { mysql_query("insert into table2 (f1, f2) values ('{$row['string_field']}', {$row['null_field']}); }</code>
Lösung: Vorbereitete Anweisungen verwenden
Vorbereitete Anweisungen bieten eine praktische Lösung zum Einfügen von Nullwerten. MySQL unterscheidet zwischen leeren Zeichenfolgen (''") und Nullwerten. Daher sind bei der Verwendung von unformatierten SQL-Abfragen explizite Nullprüfungen und Anführungszeichen erforderlich.
Bei vorbereiteten Anweisungen verarbeitet MySQL diese Unterscheidungen jedoch automatisch und stellt so sicher, dass null Werte werden korrekt eingefügt, unabhängig vom PHP-Datentyp.
<code class="php">$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)"); $stmt->bind_param('ss', $field1, $field2); $field1 = "String Value"; $field2 = null; // Null value will be inserted as is $stmt->execute();</code>
Vorteile vorbereiteter Anweisungen
Daher für das Einfügen von Nullwerten in PHP/ MySQL wird dringend empfohlen, vorbereitete Anweisungen zu verwenden. Es vereinfacht Ihren Code, stellt die Korrektheit sicher und bietet zusätzliche Sicherheits- und Leistungsvorteile.
Das obige ist der detaillierte Inhalt vonWie füge ich mithilfe vorbereiteter Anweisungen in PHP Nullwerte in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!