Почему 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 прописана в другом файле. Соединение я проверял, все работает, проблема в коде.
 

AnrDaemon

Продвинутый новичок
Проблема в ДНК.
Если вам нужно число строк, ЗАПРОСИТЕ ИЗ БД ЧИСЛО СТРОК.
И вообще, используйте PDO уже, достали…
 

fixxxer

К.О.
Партнер клуба
Функция mysqli_num_rows не нужна никогда.
Надо просто фетчить, если вернуло нифига - значит и не нашлось нифига.
 

AmdY

Пью пиво
Команда форума
Функция mysqli_num_rows не нужна никогда.
Надо просто фетчить, если вернуло нифига - значит и не нашлось нифига.
Не, там есть нюансы с кэшами-беферами. Функция не предназначена чтобы считать записи в базе.
 

fixxxer

К.О.
Партнер клуба
Да куда ему нюансы :) Пусть с основами разберется для начала.
 

AmdY

Пью пиво
Команда форума
mysqli штука в целом классная, умеет много mysql-специфик и асинхронность, когда мне команда не мешает, предпочитаю код писать в нодастайл с асинхронной работай на промисах.
 

Yoskaldyr

"Спамер"
Партнер клуба
@AmdY Я вот все никак не смог придумать нормальное применение асинхронного mysqli особенно если нужны транзакции...
 

флоппик

promotor fidei
Команда форума
Партнер клуба
@AmdY Я вот все никак не смог придумать нормальное применение асинхронного mysqli особенно если нужны транзакции...
А как асинхронность мешает транзакциям? Ну и бенефит обычно от асинхронного чтения, не записи ведь.
 

Yoskaldyr

"Спамер"
Партнер клуба
@флоппик я говорю об асинхронных методах стандартного mysqli - там свои приколы, а именно отдельное соединение на асинхронный запрос, как следствие транзакции идут гулять.
 
Сверху