值=“”之间的差异;和value = NULL;用PHP?

时间:2010-01-12 16:54:52

标签: php mysql

PHP中value = NULL;value = "";之间有什么区别?

面对奇怪的响应,好像我设置value = "";,而不是从数据库得到空数组响应,这是我应该得到的,但如果我设置value = NULL;而不是从mysql数据库得到空字符串响应空数组响应。

我不确定为什么会这样。任何建议!!!

3 个答案:

答案 0 :(得分:1)

看看

Working with NULL Values

  

NULL值可能会令人惊讶,直到   你会习惯的。从概念上讲,NULL   意味着“缺少未知价值”和它   与...有所不同   其他价值观。要测试NULL,你   不能使用算术比较   运算符,例如=,<或<>。 改为使用IS NULL和IS NOT NULL运算符。

答案 1 :(得分:0)

Value = NULL基本上将变量设置为空。而Value =“”将其设置为空字符串,而空字符串可能看起来像什么都没有,从技术上讲它是一个排序值。 NULL和“”都是不同的值。

答案 2 :(得分:0)

空字符串和NULL在MySQL中的处理方式不同。我对这个问题有类似的疑问:

why use NOT NULL default = ''?

这里有2个解决方案:

  • 将要检查的数据库字段设置为NOT NULL default''或类似的东西。
  • 重写您的查询,以便检查这两种情况。例如:'where field =''OR field IS NULL'