Я пытаюсь подсчитать элементы в массиве, и он возвращает меньше - PullRequest
0 голосов
/ 13 июля 2020
<?php

public function fetchitems()
{
    $sql = "SELECT * FROM $this->tablename";

    $result = mysqli_query($this->conn, $sql);

    if (mysqli_num_rows($result) > 0) {
        return $result;
    } else {
        die("error returned nothing");
    }

    $count = count(($result);
    echo $count

?>

Переменная $result содержит данные из базы данных, в которой у меня есть 8 продуктов, но я получаю счет 5 при запуске. Как исправить

Ответы [ 2 ]

1 голос
/ 13 июля 2020

Попробуйте этот код, он может вам помочь: -

$result = mysqli_query($this->conn, $sql);
$num_rows = mysqli_fetch_row($result)[0];
0 голосов
/ 13 июля 2020

Похоже, у вас довольно много синтаксических ошибок, я буду рад пройтись по ним, если вы оставите комментарий.

В любом случае, попробуйте это, дайте мне знать, если у вас есть другие ошибки ?

Самая большая проблема заключается в неправильном возврате счетчика. Я не тестировал следующее, но подключи и работай - посмотри, что будет дальше:

<?php

    public function fetchitems()
    {
        $sql = "SELECT * FROM $this->tablename";

        $result = mysqli_query($this->conn, $sql);
        $count = mysqli_num_rows($result);

        if (empty($count)){
            die("error returned nothing");
            // suggest:
            // return false;
            // or
            // return 0;
        }

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