2014-01-14 123 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();