Не работает mysqli_fetch_assoc

178
03 сентября 2018, 06:40
$categories_org = mysqli_query($connect, "SELECT * FROM `categories`");
$categories = array();
while ($res = mysqli_fetch_assoc($categories)) { array_push($categories, $res); }
print_r($categories_org);

Почему-то fetch_assoc сразу возвращает false, хотя в таблице 15 строк. С подключением все в порядке. В чем ошибка?

Если что, вот результат вывода $categories_org с помощью print_r:

mysqli_result Object ( [current_field] => 0 [field_count] => 4 [lengths] => [num_rows] => 15 [type] => 0 ) 
Answer 1

Ну да, потому что mysqli_fetch_assoc() должен применять данные которые вернул mysqli_query.

$categories_org = mysqli_query($connect, "SELECT * FROM `categories`");
$categories = array();
while ($res = mysqli_fetch_assoc($categories_org)) { array_push($categories, $res); }
print_r($categories);

Вам надо ещё раз изучить источник откуда вы черпаете информацию.

Answer 2

В стиле ООП

$mysqli = new mysqli("localhost", "user", "password", "basa");
if ($mysqli->connect_errno) exit("Соединение не удалось");
if ($result = $mysqli->query("SELECT * FROM categories")) {
    $categories = array();
    while ($row = $result->fetch_assoc()) {
        array_push($categories, $row);
        // или
        $categories[] = $row; // так мне кажется лучше
    }
    $result->free();
}
READ ALSO
angular не работает в HTML из сервера PHP

angular не работает в HTML из сервера PHP

Я начинающий web-программист, не судите строго с:

198
Почему не работает PayPal на сервере?

Почему не работает PayPal на сервере?

PayPal работает на localhost нормально, а на сервере нетТестовые деньги снимает, но не идет редирект после оплаты

141
Удалить ссылку из текста

Удалить ссылку из текста

Как можно удалить такую ссылку https://sitecom/7e1cJk из текста

169
Сайт (PHP) не обрабатывает PHP файл

Сайт (PHP) не обрабатывает PHP файл

Имеется проблема с обработкой php файлаРасширение файла php было изменено с index

199