1. ホーム
  2. php

[解決済み] MySQLとPHP - 空文字列ではなくNULLを挿入する

2023-01-26 19:32:07

質問

データベースにいくつかの変数を挿入する MySQL ステートメントがあります。最近、オプションの 2 つのフィールド ($intLat、$intLng) を追加しました。 今、これらの値が入力されていない場合、私は値として空の文字列を渡します。 MySQLに明示的なNULL値(空の場合)を渡すにはどうすればよいですか?

$query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng)
          VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', 
                  '$intLat', '$intLng')";
mysql_query($query);

どのように解決するのですか?

MySQL に NULL を渡すには、そのようにします。

INSERT INTO table (field,field2) VALUES (NULL,3)

ということで、コードの中で if $intLat, $intLngempty である場合は NULL の代わりに '$intLat' または '$intLng' .

$intLat = !empty($intLat) ? "'$intLat'" : "NULL";
$intLng = !empty($intLng) ? "'$intLng'" : "NULL";

$query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng)
          VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', 
                  $intLat, $intLng)";