PHP While循环返回1结果应返回15?

时间:2013-10-02 03:08:07

标签: php arrays while-loop

我编写了一个应该返回数据库中所有用户的函数。它正在打印数组,但它只打印一个结果。它为什么这样做?我在一个while循环中包围了它并在我的查询中设置了限制...

代码:

function getAllUsers() {

global $PDO;

    $stm = $PDO->prepare("SELECT * FROM `users` ORDER BY `bid` DESC LIMIT 15");

        $stm->execute();

            while($Array = $stm->fetch()) {
                return print_r($Array);
            }

}

3 个答案:

答案 0 :(得分:3)

使用fetchAll()

$data = $stm->fetchAll()
foreach ($data as $item ) {
    print_r($item);
}

答案 1 :(得分:1)

使用foreach循环而不是while和fetchAll()而不是fetch():

foreach ($stm->fetchAll() as $arr) {
   print_r($arr);
}

答案 2 :(得分:0)

function getAllUsers() {

   global $PDO;

   $stm = $PDO->prepare("SELECT * FROM `users` ORDER BY `bid` DESC LIMIT 15");
   $stm->execute();

   $var = array();

   while($Array = $stm->fetch()) {

     $var = $Array;

  }

 return $var;

 }