使用PDO绑定SOMETIMES null值

时间:2015-07-02 14:32:42

标签: php mysql pdo null

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

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

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

include ('include/mysql.php');

$sql = 'SELECT * FROM returns 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
    {
    echo 'NOOOO :(';
    }

1 个答案:

答案 0 :(得分:0)

基本上,你不能说“等于null”。它必须始终为IS null:

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

如果可能的话,你最好不要使用NULL