ホームページ > データベース > mysql チュートリアル > PHP を使用して MySQL データベースに NULL 値を適切に挿入するにはどうすればよいですか?

PHP を使用して MySQL データベースに NULL 値を適切に挿入するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-29 13:56:24
オリジナル
385 人が閲覧しました

How Can I Properly Insert NULL Values into a MySQL Database Using PHP?

PHP/MySQL への Null 値の挿入

データベースにデータを挿入するときは、Null 値を正しく処理することが重要です。この場合、配列内の対応する値も null であれば、データベース フィールドに null を挿入したいと考えています。

問題:

次のコードを考えてみましょう:

$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']});
}
ログイン後にコピー

null_field 値の 1 つが null の場合、insert ステートメントは失敗します。これは、PHP が null を空の文字列として解釈するため、SQL クエリで構文エラーが発生します。

解決策:

null 値を処理するための推奨されるアプローチは次のとおりです。準備されたステートメントを使用します。プリペアド ステートメントは、null と空の文字列を自動的に区別し、正しい値を挿入します。

$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);

$field1 = "String Value";
$field2 = null;

$stmt->execute();
ログイン後にコピー

プリペアド ステートメントは、値をエスケープし、クエリが適切にフォーマットされていることを確認することで、SQL インジェクション攻撃も防ぎます。したがって、非推奨の mysql 拡張機能の代わりに、mysqli とその準備されたステートメントを使用することをお勧めします。

以上がPHP を使用して MySQL データベースに NULL 値を適切に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート