我有这个功能:
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的列表。上面的代码为什么不随机选择一个?
这可能是一个愚蠢的问题,在我看到答案之后我会嗤之以鼻......但我被困的时间比我想的还要长。
感谢您的帮助。
答案 0 :(得分:2)
你只返回你的函数中的单个结果,所以要么创建所有获取结果的数组&返回相同内容,或者只是在查询中按rand()
使用订单
SELECT * FROM Spells ORDER BY RAND();