Как я могу получить подсчет количества строк для этого результирующего набора в php?

#php

#php

Вопрос:

Я посмотрел, как это сделать, и это то, что, как я думал, там сказано, однако я продолжаю получать это предупреждение об ошибке: mysql_num_rows () ожидает, что параметр 1 будет ресурсом, заданным объектом

   <?php
 $txn_sql = " SELECT * FROM test WHERE item2 = 835587755 ";
 $order_num = mysqli_query($Connection, $txn_sql);
 $num_rows = mysql_num_rows($order_num);
 echo $num_rows; 
  ?>
  

Комментарии:

1. Используйте mysqli_*() повсюду. Не смешивайте API

Ответ №1:

Функции mysql_* и mysqli_* взяты из разных библиотек, и первая устарела. Вы не можете использовать mysql_num_rows для mysqli_query результата.

Если вы используете mysqli, вы получаете объект обратно. Вызовите num_rows() метод для этого, чтобы получить результат.

 $num_rows = $order_num->num_rows();
  

В качестве альтернативы, если вы (по какой-то причине) хотите использовать процедурный стиль, вы можете использовать mysqli_num_rows вместо этого.

 $num_rows = mysqli_num_rows($order_num);
  

Ответ №2:

Это очень просто, вам просто нужно заменить mysql_num_rows на mysqli_num_rows . mysql_num_rows не удается обработать результат mysqli!

Итак, попробуйте это:

 <?php
$txn_sql = " SELECT * FROM test WHERE item2 = 835587755 ";
$order_num = mysqli_query($Connection, $txn_sql);
$num_rows = mysqli_num_rows($order_num);
echo $num_rows; 
?>