MySQL 和 PHP - 插入 NULL 而不是空字符串

2022-08-30 07:35:29

我有一个MySQL语句,它将一些变量插入到数据库中。我最近添加了2个可选字段($intLat,$intLng)。现在,如果没有输入这些值,我会传递一个空字符串作为值。如何将显式 NULL 值传递给 MySQL(如果为空)?

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

答案 1

要将 NULL 传递给 MySQL,您就是这样做的。

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

因此,在您的代码中,检查是 ,如果它们是,请使用 代替 或 。if $intLat, $intLngemptyNULL'$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)";

答案 2

这对我来说很好:

INSERT INTO table VALUES ('', NULLIF('$date',''))

(第一个增量 id 字段)''


推荐