Почему mysqli_num_rows возвращает 0?

Markin

Новичок
Есть код
<?php $article = mysqli_query($connection, "SELECT * FROM `articles` WHERE `id` = " . (int) $_GET['id']); print_r($article); if( mysqli_num_rows($article) <= 0 ) { }
У меня есть 11 страниц, если я захожу на одну из них, тогда id приобретает значение от 1-11, но mysqli_num_rows возвращает 0.
$connection прописана в другом файле. Соединение я проверял, все работает, проблема в коде.
 
Проблема в ДНК.
Если вам нужно число строк, ЗАПРОСИТЕ ИЗ БД ЧИСЛО СТРОК.
И вообще, используйте PDO уже, достали…
 
Функция mysqli_num_rows не нужна никогда.
Надо просто фетчить, если вернуло нифига - значит и не нашлось нифига.
 
Функция mysqli_num_rows не нужна никогда.
Надо просто фетчить, если вернуло нифига - значит и не нашлось нифига.
Не, там есть нюансы с кэшами-беферами. Функция не предназначена чтобы считать записи в базе.
 
Да куда ему нюансы :) Пусть с основами разберется для начала.
 
mysqli штука в целом классная, умеет много mysql-специфик и асинхронность, когда мне команда не мешает, предпочитаю код писать в нодастайл с асинхронной работай на промисах.
 
@AmdY Я вот все никак не смог придумать нормальное применение асинхронного mysqli особенно если нужны транзакции...
 
@AmdY Я вот все никак не смог придумать нормальное применение асинхронного mysqli особенно если нужны транзакции...
А как асинхронность мешает транзакциям? Ну и бенефит обычно от асинхронного чтения, не записи ведь.
 
@флоппик я говорю об асинхронных методах стандартного mysqli - там свои приколы, а именно отдельное соединение на асинхронный запрос, как следствие транзакции идут гулять.
 
Сверху