получить количество строк - mysqli - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь этот код, но я хочу знать, каково количество результатов этого запроса.Если сделать тот же запрос в консоли MySQL, я получаю 4 результата, но с этим кодом я получаю 0 строк.Как правильно получить количество строк?

 function check_oferta_existe($db, $id, $id_oferta) {
            $sql = $db -> prepare("
            SELECT COUNT(offer)
            FROM offer
            WHERE company_users_id_user1 = ? AND offer = ? AND state = 0
            ");

            $sql -> bind_param('is', $id, $oferta);
            $sql -> execute();
            $sql -> fetch();
            $sql->store_result();
            $rows = $sql->num_rows;

            var_dump($rows); // 0, should be 4
            if ($rows == 1) {
                return true;
            }
            else {
                return false;
            };
        }

Ответы [ 2 ]

3 голосов
/ 16 января 2012

Я вижу две ошибки в вашем коде. Когда вы делаете это заявление:

$sql -> bind_param('is', $id, $oferta);

вы используете $oferta, но кажется (глядя на параметры функции), что переменная должна быть $id_oferta.

Более того, после закрывающей скобки вашего else у вас есть точка с запятой, которой не должно быть.

3 голосов
/ 16 января 2012

$sql->fetch() не является функцией - попробуйте $sql->fetch_all().

Это должно извлечь все строки для вас, и тогда переменная $sql->num_rows должна быть правильной.

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