mysqli_num_rows () espera que o parâmetro 1 seja mysqli_result, object

Esta é a minha primeira experiência com o mysqli. Parece estar procurando o nome de um conjunto de resultados entre os parênteses em mysqli_num_rows (). No entanto, quando eu tentei $ stmt, $ conn, e nada, eu recebi o mesmo erro. Frustrante! O que é onde o que está na última linha abaixo?

Ou talvez eu esteja tentando a tática errada. Tudo o que eu quero fazer é verificar se um resultado foi retornado. Eu realmente não preciso do número de linhas. Devo fazer uma outra declaração com uma mensagem de erro? Essa é a melhor forma de fazê-lo? E existe uma boa maneira de escrever uma function para conectar e aceitar a consulta e seus parâmetros? Eu escrevi um para mysql, mas isso é tão diferente! Não estou ansioso para rewrite dúzias de consultas!

$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); } 

Você está combinando abordagens processuais e orientadas a objects, quando você quer apenas orientar objects. mudança

 $num=mysqli_num_rows($WHAT); 

para

 $num = $stmt->num_rows(); 

mysqli_num_rows leva o resultado da consulta como um parâmetro http://us.php.net/manual/en/mysqli-result.num-rows.php

Você também pode usá-lo em um estilo OOP como $ result-> num_rows;