我们如何正确使用mysqli来获取表中的所有记录?

时间:2011-08-30 06:18:31

标签: php mysql mysqli

我只获得一行,有人可以告诉我如何从数据库表的表列中获取所有数据吗?

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

4 个答案:

答案 0 :(得分:7)

你是从循环中返回的。这将在第一轮打破它。

return在循环之外。

答案 1 :(得分:2)

做小改动

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

答案 2 :(得分:1)

您的问题是return $rows;。它应该在 while之后。问题是它将进入while,将第一行放入数组中,然后立即返回它。你想要的是让while做它的事情,完成之后,返回数组。

答案 3 :(得分:0)

如果您使用的是mysqli。 然后你可以使用它的apiFfetch_all一次获取所有行。

例如: 的 $阵列= $ result-> fetch_all(MYSQLI_ASSOC);

上面的代码将获得相应数组中的所有相关行。