选择或显示NULL值错误


selecting or displaying NULL value error

我有一个

$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;

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

我会检查PHP中的null,并修改如何在PHP逻辑中形成查询字符串。

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

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和Prepare Statements,以编写安全、可靠的数据库交互。

试试这个代码:

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