プリペアドステートメントを使用して PHP/MySQL に NULL 値を挿入する
問題は、mysql_query を使用して MySQL データベースに NULL 値を挿入しようとしたときに発生します。関数。 NULL 値を正常に挿入するには、INSERT ステートメントで NULL 値を明示的に指定するか、フィールドを省略する必要があります。
ただし、この方法では、NULL 値と非 NULL 値の両方を処理するための追加の分岐が必要です。より洗練された解決策は、mysqli 拡張機能を備えた 準備されたステートメント を利用することです。
準備されたステートメントは、string(0) と NULL 値を自動的に区別します。また、フィールドをエスケープして、データの整合性を確保します。プリペアド ステートメントを使用した例を次に示します。
<code class="php">$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)"); $stmt->bind_param('ss', $field1, $field2); $field1 = "String Value"; $field2 = null; $stmt->execute();</code>
プリペアド ステートメントを使用すると、分岐や追加のコードを必要とせずに NULL 値を簡単に挿入できます。さらに、準備されたステートメントは SQL インジェクション攻撃を防止し、パフォーマンスを向上させます。セキュリティ、パフォーマンス、開発を容易にするために、mysqli とその準備されたステートメントを使用することを強くお勧めします。
以上がPHP でプリペアド ステートメントを使用して MySQL に NULL 値を適切に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。