Как получить количество возвращенных строк из базы данных - PullRequest
0 голосов
/ 21 сентября 2011

После того, как я выполню запрос к базе данных, и некоторые строки отображаются, кажется, что я не могу получить количество строк, которые отображаются после запроса.Пытался использовать mysql_num_rows (), но мой результат $ выглядит следующим образом:

$result = $conn->query($sql) or die();

, поэтому я думаю, что проблема в том, что я использовал встроенный класс MySQLi (), и по какой-то причине mysql_num_rows () не работает в соответствии с этим результатом.Как я могу заставить его работать с текущим $ result, который я использую, или есть какой-либо другой способ вернуть количество строк, используя класс MySQLi () для создания $ result ??

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

Примечание 1: Если вам нужно только количество строк в таблице, лучше выполнить следующее:

$result = $conn->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];

Примечание 2: Донне перепутайте mysqli_field_count и mysqli_stmt_num_rows .Например:

id firstname
1  foo
2  bar
3  baz
  • field_count равно 2
  • num_rows равно 3
1 голос
/ 21 сентября 2011

mysql и mysqli НЕ взаимозаменяемы. Это два совершенно разных модуля, поддерживающих свои собственные отдельные соединения, и результаты / дескрипторы одного НЕ пригодны для использования в другом. Они оба могут использовать одни и те же базовые библиотеки mysql и общаться с одной и той же базой данных, но они совершенно независимы друг от друга.

Если вы используете MySQLi, то придерживайтесь функций MySQLi, которые для вашей проблемы будут использовать http://php.net/manual/en/mysqli-stmt.num-rows.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...