Как правильно использовать mysqli для извлечения всех записей из таблицы? - PullRequest
1 голос
/ 30 августа 2011

Я получаю только одну строку, может кто-нибудь сказать, пожалуйста, как получить все данные из столбца таблицы моей таблицы базы данных?

   public function getCategories(){
    $result = $this->db->query('SELECT * FROM newscat');
    $rows = array();
        while($row = $result->fetch_assoc()){
               $rows[] = $row;
               return $rows;
           }
     }

Ответы [ 4 ]

7 голосов
/ 30 августа 2011

Вы возвращаетесь из цикла. Это сломает это в первом раунде.

return вне цикла.

2 голосов
/ 30 августа 2011

сделать незначительное изменение

public function getCategories(){
    $result = $this->db->query('SELECT * FROM newscat');
    $rows = array();
    while($row = $result->fetch_assoc()){
             $rows[] = $row;
    }
    return $rows;
 }
1 голос
/ 30 августа 2011

Ваша проблема - return $rows;. Он должен находиться после while. Дело в том, что он войдет в while, поместит первую строку в массив, а затем сразу же вернет ее. Вам нужно, чтобы while сделал свое дело, а после того, как закончило, вернул массив.

0 голосов
/ 10 марта 2014

Если вы используете mysqli.Затем вы можете использовать его apiFfetch_all, чтобы получить все строки одновременно.

Например: $ array = $ result-> fetch_all (MYSQLI_ASSOC);

Приведенный выше код получит все связанные строки в соответствующем массиве.

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