即使查询有效,PDO也不会返回结果

时间:2014-03-05 08:41:31

标签: php postgresql pdo

我使用了PDO数百次,但现在我非常沮丧 - 一切似乎都适合我,我必须遗漏一些东西......我使用PGSql和PDO。将查询传递给PgAdmin 3并运行它 - 没问题!但是从PDO调用它是一个不同的故事。

我的代码:

(...checking if $name is null and so on...)

$query = "SELECT 
            *
            FROM
            out.city
            WHERE 
            city_name ILIKE ?";

        $stmt = $this->db->prepare($query);
        try{
            $res = $stmt->execute(array("'".$name."'"));
            $ret = $res->fetchAll(PDO::FETCH_ASSOC);
(... rest of try-catch block...)

问题是$res返回boolean(true)而不是object。它导致错误:

PHP Fatal error:  Call to a member function fetchAll() on a non-object

我已经尝试过几种如何将$name置于查询中的方法 - 使用问号,绑定或只是加入字符串(我知道,糟糕的方式)。他们都没有工作。

1 个答案:

答案 0 :(得分:2)

仅应准备句柄(对象),将$res->替换为$stmt->

$stmt->fetchAll(PDO::FETCH_ASSOC);