PHP を使用して MySQL データベースにデータを挿入する場合、Null 値を正しく処理するのは難しい場合があります。フィールドが null 可能でも、配列値が null の場合、挿入は行われない可能性があります。
この問題を解決するには、PHP の mysqli 拡張機能でプリペアド ステートメントを使用することをお勧めします。その方法は次のとおりです。
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
このステートメントは、2 つのプレースホルダー ? を持つ準備済みクエリを作成します。
$stmt->bind_param('ss', $field1, $field2);
bind_param メソッドは、変数をプレースホルダーに割り当てます。最初のパラメータはデータ型 (この場合は文字列) を指定し、次のパラメータは値を保持する変数です。
$field1 = "String Value"; $field2 = null;
必要に応じて変数値を設定します。null 許容フィールドの場合は null を使用します。
$stmt->execute();
最後に、ステートメントを実行します。準備されたステートメントは自動的に null 値を正しく処理し、必要に応じて空の文字列を null に変換します。
準備されたステートメントを使用すると、null 値を手動でチェックしたり、文字列に一重引用符を追加したりする必要がなくなります。これにより、挿入プロセスがより効率的になり、SQL インジェクションの脆弱性から保護されます。
以上がPHP プリペアドステートメントを使用して MySQL に NULL 値を適切に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。