【发布时间】:2015-11-02 17:03:40
【问题描述】:
我想显示 24 个唯一 ID,但他只给了我 1 个: 这是我的php
<?php $sql = "SELECT id
FROM 15players
ORDER BY RAND()
LIMIT 24"; $result = mysql_query($sql) or die('Query failed: ' . mysql_error());
$row = mysql_fetch_array($result);
echo $row['id']; ?>
但是如果我在 phpmyadmin 中执行这条 SQL, 它返回我 24 个 id 那我做错了什么?
编辑: 得到了正确的答案!
<?php $sql = "SELECT id
FROM 15players
ORDER BY RAND()
LIMIT 0,24";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
while($row = mysql_fetch_array($result)) {
echo $row['id'];
}
?>
【问题讨论】:
-
您只获取一个结果
$row = mysql_fetch_array($result);,所以当然您只会显示一个 id....遍历整个结果集依次获取每个结果集while($row = mysql_fetch_array($result)) { echo $row['id']; } -
但现在是 2015 年,是时候进入 MySQLi 或 PDO 的世界,而不是 11 月 12 日之后最新的 PHP 中不存在的旧的、已弃用的 MySQL 扩展
-
请不要再使用
mysql_*。如果不是 PDO,至少使用mysqli_*。 php.net/manual/de/migration55.deprecated.php -
永远不要写
ORDER BY RAND()。