PDO FetchALL只返回一行


PDO FetchALL returning just one row

这对我来说有点令人头疼,因为我已经使用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/ ) 

我几乎可以发誓这是我在其他项目中使用的相同代码,运行得很好。

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

注释太长:

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

打印吗?