PHP を使用して MySQL データベースに Null 値を挿入する方法

DDD
リリース: 2024-10-30 13:05:02
オリジナル
421 人が閲覧しました

How to Insert Null Values into a MySQL Database Using PHP?

PHP を使用して MySQL に Null 値を挿入する

PHP を使用して MySQL データベースにデータを挿入する場合、Null 値を挿入しようとすると問題が発生する可能性があります。デフォルトでは、配列内の値に null が含まれる場合、PHP は数値フィールドに null の代わりに空の文字列またはゼロを挿入します。

この例では:

<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>
ログイン後にコピー

If $row[' null_field'] に null が含まれている場合は、代わりに 0 として挿入されます。この問題に対処するには、プリペアド ステートメントを使用できます。

プリペアド ステートメントの使用

プリペアド ステートメントを使用すると、クエリで null 値を明示的に指定できます。また、エスケープとバインドも自動的に処理されるため、インジェクションの脆弱性のリスクが軽減されます。

MySQLi でプリペアド ステートメントを使用する方法は次のとおりです。

<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>
ログイン後にコピー

この例では、

  • ?プレースホルダーは、挿入されるフィールドを表します。
  • ss は、最初のフィールドが文字列で、2 番目のフィールドが null であることを示します。
  • bind_param() は、値をプレースホルダーにバインドします。
  • execute() はクエリを実行します。

$field2 が null の場合、データベースに null として挿入されます。このメソッドは null 値を正しく処理し、空の文字列やゼロ値として扱われないようにします。

以上がPHP を使用して MySQL データベースに Null 値を挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!