1

谁能告诉我为什么 MySQL 的所有结果都没有出现在数组中?

$result = mysql_query("select * from groups order by id desc");

if ($row = $result->fetch()) {
$groups[] = $row; 
}
4

3 回答 3

3

while不使用if

while ($row = $result->fetch()) {
  $groups[] = $row; 
}
于 2013-01-18T02:17:09.020 回答
2

您在那里的代码不会迭代结果集。试试这个。

while ($row = $result->fetch()) { 
$groups[] = $row;
}
于 2013-01-18T02:17:43.590 回答
0

因为 fetch 只获取一行,如php 手册中所述:

从结果集中获取下一行

我想建议您更改 PDO 的 mysql_ 代码

$db = new PDO("..."); // Creates the PDO object. Put the right arguments for your connection.
$statement = $db->prepare("SELECT * FROM groups ORDER BY id DESC");
$statement->execute();
while ($groups = $statement->fetch())
  {
  // Do whatever you want to do

  }
于 2013-01-18T02:18:49.733 回答