-1

我有这个功能:

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 的列表,如预期的那样。为什么上面的代码不随机选择一个?

这可能是一个愚蠢的问题,我看到答案后会打自己……但我被困的时间比我认为的要长。

谢谢您的帮助。

4

1 回答 1

2

您只需从函数返回单个结果,因此要么创建所有获取结果的数组并返回相同的结果,要么只是rand()在查询中使用 order by,

SELECT * FROM Spells ORDER BY RAND();
于 2013-05-12T05:00:43.307 回答