Intereting Posts
Есть ли более простой способ проверить, равна ли переменная множеству чисел? Вставка / просмотр изображения в / из базы данных MySQL PHP. Свертывание многомерных массивов по именованному ключу header ('HTTP / 1.0 404 Not Found'); ничего не делая RegEx для получения идентификатора видео YouTube с любого URL-адреса YouTube PHP Итерируйте через $ _POST и используйте значения по имени Как эффективно подключаться к mysql в php без повторного подключения к каждому запросу Обновление информации о базе данных с помощью кнопки onclick Функция str_word_count () не отображает арабский язык правильно Код Php для получения первого кадра видео (flv) Планировщик событий MYSQL DELIMITER с использованием PHP Как эхо «…» после номера 9 и повторять последние два числа после «…» для разбивки на страницы? Как получить неудачные задачи в сельдерей? Zip Stream в PHP Regex для разделения параметров с помощью preg_match

функция возвращает только первое значение массива с результатом запроса mysqli

У меня небольшая проблема с моей связанной с mysqli функцией. Вот код:

$query = "SELECT * FROM uploads"; if ($result = $mysqli->query($query)) { while ($row = $result->fetch_assoc()) { return $row; } 

Проблема в том, что когда я использую эту функцию, $row представляется массивом, но только с первым значением результата запроса. Но если я попытаюсь return var_dump($row) , функция отобразит массив, как ожидалось, со всеми значениями из результата запроса. Не могли бы вы объяснить, почему это происходит и как правильно вернуть массив с полным результатом запроса. Благодаря!

 $data = array(); $query = "SELECT * FROM uploads"; if ($result = $mysqli->query($query)) { while ($row = $result->fetch_assoc()) { $data[] = $row; } } return $data; 

Измените это:

 while ($row = $result->fetch_assoc()) { return $row; } 

Для:

 function test(){ $query = "SELECT * FROM uploads"; if ($result = $mysqli->query($query)) { while ($row = $result->fetch_assoc()) { $data[]=$row; } }else{ $data=array(); } return $data; } 

Функция проверки вызова

 $bbb=test(); foreach($bbb as $key){ $dbTableColumn1 = $key['column1']; $dbTableColumn2 = $key['column2']; $dbTableColumn3 = $key['column3']; //...$variable = $key['ColumnOfYourTable']; $text .= $dbTableColumn1.'|'.$dbTableColumn2.'|'.$dbTableColumn3.'<br/>'; //Whatever you want to output } 

Функция предназначена только для того, чтобы сделать более читаемым