#php #mysql
#php #mysql
Вопрос:
Я использую код SELECT COUNT(id) FROM blog.posts WHERE hidden='0'
, чтобы узнать, сколько страниц нужно сгенерировать для разбивки на страницы на веб-сайте. Этот запрос возвращает следующую таблицу;
|COUNT(id)|
|9 |
Но я столкнулся с проблемой. Мой PHP-скрипт для обработки этой информации повторяется «. Вместо ожидаемого значения ‘9’.
$result=mysqli_query($conn,$sql);
$pages=mysqli_fetch_array($conn);
echo $pages[0];
Есть идеи, почему это происходит?
Комментарии:
1. COUNT не даст вам размер таблицы. Он вернет общее количество записей в вашей таблице.
2. Отредактировано @VuralAcar, это то, что я ищу.
Ответ №1:
Параметр для mysqli_fetch_array()
или любого из mysqli_fetch_*
вызовов api должен быть a mysqli_result
, а не объектом соединения
$result = mysqli_query($conn,$sql);
$pages = mysqli_fetch_array($result); //<--- change
echo $pages[0];
Комментарии:
1. О, попал в точку сквайр!
Ответ №2:
попробуйте: SELECT COUNT(id) as count FROM blog.posts WHERE hidden='0'
и затем:
$result=mysqli_query($conn,$sql);
$pages=mysqli_fetch_array($conn);
echo $pages['count'];
Комментарии:
1. Не повезло, он по-прежнему возвращает ‘p’ .
2. вы видели, что у вас нет знака ‘$’ в вашей строке кода: echo pages[0]; ?
3. Я этого не уловил, исправлено, но теперь оно возвращает null .