2015-06-20 43 views
1

他不工作任何人都可以幫忙嗎?PDO讀取並獲取所有條件語句不起作用

(count($stmt->fetchAll()) > 1) ? $result = $stmt->fetchAll() : $result = $stmt->fetch(); 

print_r($result); 
+0

這是更合適的方式。 '$ result =(count($ stmt-> fetchAll())> 1)? ($ stmt-> fetchAll()):($ stmt-> fetch());' – jagad89

+0

感謝您的建議,但這並不能解決我的問題。 –

+0

請參閱下面的Mureinik的答案。它有理由爲什麼它不工作。 – jagad89

回答

2

所有fetchXYZ方法推進的基本指針,所以一旦你打電話給他們,你不能「回頭」,並再次獲得相同的行。

你可以重做內存的情況下,調用fetchAll()只有一次後:

$result = $statement->fetchAll(); 
if (count($result) == 1) { 
    $result = $result[0]; 
} 
+0

謝謝百萬Mureinik。 –