2014-03-05 89 views
0

我使用了数百次PDO,但现在我非常沮丧 - 对我来说一切似乎都没问题,我必须缺少一些东西......我使用PGSql和PDO。将查询传递给PgAdmin 3并运行它 - 没问题!但从PDO中调用它是另一回事。即使查询有效,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返回布尔型(真),而不是对象。它导致错误:

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

我已经试过了如何把$name内查询一些方法 - 使用问号,结合或刚刚加盟的字符串(我知道,坏的方式)。他们都没有工作。

回答

2

应该是准备手柄(对象)只,更换$res->$stmt->

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

我瞎了。在本周中旬。我对此感到不好。谢谢! – ex3v

+0

而不需要'$ res'。 – hjpotter92

+1

@downvoter评论请原谅。 – Rikesh