2014-03-05 119 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