У меня есть эта функция:array_rand всегда возвращает то же значение PHP выборки массиву
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 1.
$spell_id_list = set_spell();
echo $spell_id_list[array_rand($spell_id_list)];
Когда Я запускаю этот запрос в MYSQL, я получаю список всех идентификаторов, как ожидалось. Почему этот код не выбирается случайно?
Это, наверное, глупые вопросы, которые я буду ударить себя после того, как увижу ответ ... но я застрял дольше, чем я думаю, я должен быть на нем.
Спасибо за помощь.
Что вы хотите достичь? Массив случайного результата или только одно случайное значение? – Rikesh
Не используйте 'global', вместо этого передайте' connection' как параметр –
Прошло некоторое время, но не * _fetch_row просто получил один результат? Таким образом, не только $ spell_id_list имеет только элемент, когда возвращается set_spell? – BrianHall