Php MySQL Order By Rand()给出1个结果,而不是24个
我想显示24个唯一id,但他只给我1个: 这是我的phpPhp MySQL Order By Rand()给出1个结果,而不是24个,php,mysql,random,Php,Mysql,Random,我想显示24个唯一id,但他只给我1个: 这是我的php <?php $sql = "SELECT id FROM 15players ORDER BY RAND() LIMIT 24"; $result = mysql_query($sql) or die('Query failed: ' . mysql_erro
<?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个身份证
那么我做错了什么
编辑:
得到了正确的答案
<?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'];
}
?>
mysql\u fetch\u array
只返回需要循环遍历结果的一行
while($row = mysql_fetch_array($result)) {
echo $row['id'];
}
如果通过查询获取多个结果,则需要对其进行迭代
<?php
$sql = "SELECT id
FROM 15players
ORDER BY RAND()
LIMIT 24"; $result = mysql_query($sql) or die('Query failed: ' . mysql_error());
while($row = mysql_fetch_array($result))
{
echo $row['id'];
}
?>
另外,不推荐使用mysql\*时,请开始使用PDO。mysql\\\\\\\\数组一次只能获取一行。您需要循环查看所有结果
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo $row['id']. '<br>';
}
while($row=mysql\u fetch\u数组($result,mysql\u NUM)){
echo$row['id']。
;
}
您应该使用mysqli或PDO。mysql在PHP5.5.0中被弃用,在PHP7.0.0中被删除 您只获取一个结果
$row=mysql\u fetch\u array($result)代码>因此,您当然只会显示一个id。。。。在($row=mysql_fetch_array($result)){echo$row['id'];}的同时迭代整个resultset,依次获取,
但是现在是2015年了,是时候进入MySQLi或PDO的世界了,而不是旧世界了,11月12日之后最新的PHP中将不存在已弃用的MySQL扩展。请不要再使用MySQL.*
。如果不是PDO,至少使用mysqli.*
。永远不要写orderbyrand()
。谢谢:D如何在每个“id”之间获得
?echo$row['id'],“
”代码>我真的建议学习一些PHP基础知识