Array_Rand始终返回相同值的PHP获取数组

时间:2013-05-12 04:56:02

标签: php mysql arrays random

我有这个功能:

function set_spell() {
global $connection;
$query = "SELECT * FROM Spells";
$result_set = mysqli_query($connection, $query);
$spell_id_list = mysqli_fetch_array($result_set);
return $spell_id_list;

然后我尝试从数组中输出一个随机ID,但我总是得到ID 1.

$spell_id_list = set_spell();
echo $spell_id_list[array_rand($spell_id_list)];

当我在MYSQL中运行此查询时,我会按预期获得所有ID的列表。上面的代码为什么不随机选择一个?

这可能是一个愚蠢的问题,在我看到答案之后我会嗤之以鼻......但我被困的时间比我想的还要长。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你只返回你的函数中的单个结果,所以要么创建所有获取结果的数组&返回相同内容,或者只是在查询中按rand()使用订单

SELECT * FROM Spells ORDER BY RAND();