PHP/MySQL | помогите с mysqli запросом
$onl = $mysqli->query('SELECT count(*) FROM `users` WHERE `online` > "'.(time()-600).'"');
$online = $onl->num_rows;
дамп показывает bool false
если сократить запрос и убрать where то показывает всего 1 запись. всего их 10 . колонка online есть. в чем причина? помогите а(
$online = $onl->num_rows;
дамп показывает bool false
если сократить запрос и убрать where то показывает всего 1 запись. всего их 10 . колонка online есть. в чем причина? помогите а(
$online = $mysqli->query('SELECT * FROM `users` WHERE `online` > "'.(time()-600).'"')->num_rows; я тебя не совсем что хочешь попробуй так
$onl = $mysqli->query('SELECT count(*) FROM `users` WHERE `online` > "'.(time()-600).'"');
Этим запросом ты уже получаешь COUNT (количество записей) по твоему условию. Он всегда вернет 1 запись.
Затем num_rows - возвращает количество. Естественно ту одну единственную запись
Замени num_rows на fetch_row
и выводи $online[0]
________
посл. ред. 19.02.2019 в 11:32; всего 1 раз(а); by Dizzy221
Добавлю что с точки зрения производительности, если тебе нужно получить только число, объективнее использовать COUNT(*) вместо num_rows
Челябинский, num_rows не стоит использовать в качестве счётчика
так как mysql будет извлекать все строки с базы и отправлять в php
COUNT() же отправит только число - счётчик
так как mysql будет извлекать все строки с базы и отправлять в php
COUNT() же отправит только число - счётчик
faces (19.02.2019 в 11:33)
Челябинский, num_rows не стоит использовать в качестве счётчика
так как mysql будет извлекать все строки с базы и отправлять в php
COUNT() же отправит только число - счётчик
Челябинский, num_rows не стоит использовать в качестве счётчика
так как mysql будет извлекать все строки с базы и отправлять в php
COUNT() же отправит только число - счётчик
Все строки по условию.
faces, я count в коде не использую вообще
Челябинский (19.02.2019 в 11:36)
faces, я count в коде не использую вообще
faces, я count в коде не использую вообще
И это твоя ошибка
На 10-100 строках не заметно
Но когда ты будешь "считать" num_rows на данных 10К+, у тебя страница будет думать по несколько секунд
Пока mysql отправит все 10К, пока php посчитает
Одно дело, когда это просто какие-то ID посчитать, а если это таблица статей ?
И в 10К данных на гигабайт
Я не думаю что php и mysql обрадуются пересылке гигабайта данных, для обычного подсчёта строк
faces, ну с таким объемом данных не работал,так что не могу знать)
Стр.: 1, 2