mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, объект

Это мой первый опыт работы с mysqli. Кажется, он ищет имя набора результатов между круглыми скобками в mysqli_num_rows (). Но когда я пробовал $ stmt, $ conn и ничего, у меня такая же ошибка. Срыв! Что происходит там, где $ WHAT находится в последней строке ниже?

Или, может быть, я пытаюсь ошибиться. Все, что я хочу сделать, это проверить, что результат был возвращен. Мне не нужно количество строк. Должен ли я просто делать оператор else с сообщением об ошибке? Это лучший способ сделать это? И есть ли хороший способ написать функцию для подключения и принятия запроса и его параметров? Я написал один для mysql, но это так по-другому! Я не собираюсь переписывать десятки запросов!

$conn = mysqli_connect($host, $user, $pwd, $db,$port=$port_nbr); if ($mysqli_connect_errno) { printf("Connect failed: %s\n", mysqli_connect_error()); exit; } if($stmt=$conn->prepare("SELECT id, name, status, type FROM organization")) { $stmt->execute(); $stmt->bind_result($org_id, $orgname, $orgstatus, $orgtype); $num=mysqli_num_rows($WHAT); } 

Вы комбинируете процедурные и объектно-ориентированные подходы, когда хотите только ориентировать объекты. + Изменить

 $num=mysqli_num_rows($WHAT); 

в

 $num = $stmt->num_rows(); 

mysqli_num_rows принимает результат запроса как параметр http://us.php.net/manual/en/mysqli-result.num-rows.php

Вы также можете использовать его в стиле ООП как $ result-> num_rows;