2013-04-24 148 views
0

这对我来说有点头疼,因为我一直在使用PDO而没有任何问题。但是今天我有这个代码的问题:PDO FetchALL只返回一行

$query = "SELECT exit_time, exit_url FROM exit_log ORDER BY exit_time ASC LIMIT 50"; 
    $stmt = $db->query($query, PDO::FETCH_ASSOC); 
    $posts = $stmt->fetchAll(); 
    print_r($posts); 

的问题是不是与查询本身因为phpMyAdmin的查询结果在50行,我需要。但是,当我运行上面的代码我得到这个,只是这样的:

Array ([0] => Array ([exit_time] => 1366714175 [exit_url] => http://blogbaladi.com/trillium-strikes-again/) 

我几乎可以发誓这是我使用的为工作得很好,其他项目相同的代码。

+0

您确定表中有多于一行的行吗? – Svetoslav 2013-04-24 11:41:40

+1

您确定您正在使用您的PHP代码访问正确的数据库服务器吗?您可能正在查看PhpMyAdmin中的生产数据库,并使用您的脚本获取开发数据库的行... – 2013-04-24 11:45:31

+0

您是一位天才Miklos!把它作为答复,所以我可以接受它.. – Mustapha 2013-04-24 11:48:58

回答

2

你确定你正在用你的PHP代码打正确的数据库服务器吗?您可能正在查看PhpMyAdmin中的生产数据库并使用您的脚本获取开发数据库的行...

0

太长注释:这是什么

$query = "SELECT Count(*) as cnt FROM exit_log"; 
$stmt = $db->query($query, PDO::FETCH_ASSOC); 
echo __FILE__, '@', __LINE__, "\r\n"; 
print_r($stmt->fetchAll()); 


$query = "SELECT exit_time, exit_url FROM exit_log ORDER BY exit_time ASC LIMIT 50"; 
$stmt = $db->query($query, PDO::FETCH_ASSOC); 
$posts = $stmt->fetchAll(); 
echo __FILE__, '@', __LINE__, "\r\n"; 
print_r($posts); 

打印?

+0

谢谢VolkerK,我认为Miklos钉在上面的评论http://stackoverflow.com/questions/16191012/pdo-fetchall-returning-just-one-row#comment23147469_16191012 ,我用我的php代码打错了服务器.. – Mustapha 2013-04-24 11:52:03

相关问题