PDO FetchALL只返回一行

时间:2013-04-24 11:38:57

标签: php mysql pdo

这对我来说有点头脑风云,因为我已经使用PDO一段时间没有问题。但是今天我遇到了这个代码的问题:

  $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/ ) 

我几乎可以发誓这是我用于其他工作正常的项目的相同代码。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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);

打印?