【发布时间】:2013-05-06 10:35:37
【问题描述】:
我有这个功能:
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 的列表,如预期的那样。为什么上面的代码没有随机选择一个?
这可能是一个愚蠢的问题,看到答案后我会打自己一巴掌……但我被困的时间比我认为的要长。
感谢您的帮助。
【问题讨论】:
-
你想达到什么目的?随机结果数组还是只有一个随机值?
-
不要使用
global,而是将connection作为参数传递 -
已经有一段时间了,但 *_fetch_row 不是只得到一个结果吗?那么 $spell_id_list 不是只有在 set_spell 返回的时候才有 on item 吗?
-
试图从数组中获取一个随机 ID。 @先生。外星人我该怎么做而不是使用全局?是的,fetch_row 上的错字,我测试了 fetch_array 和同样的问题。