选择或显示NULL值错误

时间:2014-04-30 02:06:22

标签: php postgresql

我有一个

$dummy = 1  
$dummy = 2
$dummy = null

和查询并尝试显示

$query = "select * from table1 where sy=2000 AND sy_dummy=$dummy";
echo $query;

然后当$dummy=null时,我得到了

ERROR: syntax error at or near "order" LINE 2: AND sy_dummy= order by table1 ^

我尝试了$ dummy IS NULL但是给了我空白页。

我的问题是如何为NULL添加$dummy值并给我一些结果应该是.....sy_dummy IS NULL order by table1

不是......sy_dummy= order by table1;

这可能吗?希望你能理解我的问题。

2 个答案:

答案 0 :(得分:0)

试试这段代码:

$query="select * from table1 where sy=2000 AND sy_dummy ".(($dummy===null)?'is null':'= '.$dummy);

答案 1 :(得分:0)

我会检查PHP中的null并修改你在php逻辑中形成查询字符串的方式。

这允许您准备语句变量(安全且安全),而不是简单地将它们内联到查询中(可能存在危险并且对SQL Injection开放)

if(!isset($dummy) || $dummy === null)
{
  // Form your $query here using sy_dummy IS NULL
}
else
{
  // Form your $query here using sy_dummy =, and bind your variables
}

另请查看PDO and Prepare Statements以编写安全,安全的数据库交互。