我的数据库中只有一条记录,“action_taken”列设置为NULL。 我怎么能让PDO找到它? p>

如果我直接在SQL中输入查询,它就会按预期工作。 p>

注意: 这只是一个测试脚本来说明我的问题。 大多数时间传递的值都是一个字符串,但偶尔值为NULL。 p>

  include('include / mysql.php'); 
 
 $ sql  ='SELECT * FROM返回WHERE action_taken =:action'; 
 $ sth = $ dbh-> prepare($ sql); 
 $ param = null; 
 $ sth-> bindValue(':action',  $ param,PDO :: PARAM_STR); 
 $ sth-> execute(); 
if($ sth-> rowCount())
 {
 echo'FOUND YOU!'; 
} 
else \  n {
 echo'NOOOO:('; 
} 
  code>  pre> 
  div>

Basically, you can't say "equal to null". It always has to be IS null:

$sql = 'SELECT * FROM returns WHERE action_taken IS :action';

You'd be better off not using NULL at all, if at all possible.

相关推荐