当前位置: 首页 > 面试题库 >

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

端木志诚
2023-03-14
问题内容

我有一个将某些变量插入数据库的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);

问题答案:

要将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)";


 类似资料:
  • 问题内容: 我在一个网站上有一个表格,该表格有很多不同的领域。一些字段是可选的,而某些字段是必填的。在我的数据库中,我有一个包含所有这些值的表,是否将NULL值或空字符串插入用户未放置任何数据的DB列中是更好的做法? 问题答案: 通过使用,您可以区分“不输入数据”和“不输入数据”。 更多区别: 一个的就是,一个空字符串的是。 s在空字符串之前排序。 将计算空字符串,但不计算s 您可以使用绑定变量搜

  • 问题内容: 由于空字符串是Go的零/默认值,因此我决定将所有此类字段定义为。例如 如果该值不适用于该特定字段,则我正在发送数据的应用程序期望使用null而不是空字符串。 这是正确的方法吗?或者有人可以向我指出比这更好的方法。 问题答案: 在json包文档中: 指针值编码为指向的值。nil指针编码为空JSON对象。 因此,您可以存储指向字符串的指针,如果不为nil,则将其编码为字符串;如果为nil,

  • 问题内容: 我正在努力处理一些PHP / MySQL代码。我正在从1个表中读取,更改一些字段,然后写入另一个表,如果我希望它在数据库中插入null(该字段允许使用null值),则如果插入且其中一个数组值是null则什么也不会发生。它看起来像这样: 并非每一行都具有null值,并且在我的查询中还有更多字段和2列可能为null或不为null 问题答案: 这是一个使用 准备好的语句 确实可以省去您麻烦的

  • 问题内容: 如何拆分字符串并获取NULL值而不是空字符串。 我特别感兴趣的两个方法和。我希望这个查询: 将返回第三行而不是空字符串。有没有简单的方法可以做到这一点,即使用特殊字符?我的意思是: 我希望我可以使用方法从字符串中提取NULL : 从这里获取的代码:https : //sqlperformance.com/2016/03/t-sql-queries/string- split 问题答案:

  • 我在MySQL数据库中有一个表,其中包含一个默认值的列,在数据库端使用phpMyAdmin定义。当我使用HiberNate插入新行时,我得到这个错误: 通用域名格式。mysql。jdbc。例外。jdbc4。MySQLIntegrityConstraintViolationException:列“status”不能为null 我还需要做些什么来使用默认值吗? 实体

  • 我的第一个猜测是,这是一个数据库配置问题,但我已经确认(尽我所知),Postgres确实通过执行以下操作来接受UTF-8: 我还通过手动向数据库中插入一个条目进一步证实了这一点: 从上面可以理解,数据库已经接受了我的值,并且已经成功地将Unicode字符添加到数据库中。 我排除了应用程序的代码,因为它是一个非常大的项目的一部分,并且相关的部分在这里和那里是支离破碎的。但是,我认为它们与问题无关,因