2014-01-14 107 views
1

我正在執行一個簡單的查詢,沒有綁定參數,使用PDO。我已經直接對我的數據庫進行了測試,並且它乾淨地執行,返回預期的結果。但是,當我將其插入到我的PDO對象並調用fetchAll()時,它將返回一個空數組。PDO fetchAll()返回空數組

$query = 'SELECT count(*) as mycount FROM mytable'; 
$mysql = $connection->prepare($query); 
$result = $mysql->fetchAll(); 

print_r($result); 

預期結果:

array 
(
    [mycount] => 8 
) 

實際結果:

array 
(
) 

任何想法可能會導致此,或如何去解決此?

回答

9

您已經準備好,但尚未執行該聲明。您需要

$mysql->execute(); 

第一

+0

添加:如果您不需要綁定的參數,使用'PDO :: query'而不是準備一份聲明... – deceze

+0

我現在討厭自己。謝謝! – Matt

3

首先,你需要:

$mysql->execute(); 

然後你可以

$result = $mysql->fetchAll();