mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, объект - PullRequest
4 голосов
/ 23 апреля 2011

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

Или, возможно, я пытаюсь ошибиться.Все, что я хочу сделать, это проверить, что результат был возвращен.Мне не нужно количество строк.Должен ли я просто сделать еще оператор с сообщением об ошибке?Это лучший способ сделать это?И есть ли хороший способ написать функцию для подключения и принятия запроса и его параметров?Я написал один для 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);
}

Ответы [ 2 ]

8 голосов
/ 23 апреля 2011

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

$num=mysqli_num_rows($WHAT);

до

$num = $stmt->num_rows();
2 голосов
/ 23 апреля 2011

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

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

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