一尘不染

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

mysql

我有一个将某些变量插入数据库的MySQL语句。我最近添加了两个可选字段($ 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);

阅读 343

收藏
2020-05-17

共1个答案

一尘不染

要将NULL传递给MySQL,只需执行此操作。

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)";
2020-05-17