fetch(PDO :: FETCH_ASSOC)将MySQL查询的所有值都返回到数组中

时间:2016-04-19 15:23:46

标签: php mysql

对MySQL的查询:

SELECT `group_id`
            FROM `j30_user_usergroup_map`
            WHERE `user_id` =3065

返回以下结果:

enter image description here

但是,在PHP中使用以下代码:

$db = new PDO('mysql:host=localhost;dbname=', '', '');
    $sth = $db->prepare('SELECT `group_id`
        FROM `j30_user_usergroup_map`
        WHERE `user_id` =3065');
    $sth->execute();
    $result = $sth->fetch(PDO::FETCH_ASSOC);        
    print_r($result);

回归:

( [group_id] => 2 ) 

我想要数组的所有元素,而不仅仅是第一个,如here

所述

1 个答案:

答案 0 :(得分:1)

您有两种方法可以解决此问题,按fetch()更改fetchAll()或使用while并返回新数组。

1)FetchAll approch

变化:

$result = $sth->fetch(PDO::FETCH_ASSOC);    

人:

 $result = $sth->fetchAll(PDO::FETCH_ASSOC);    

2)虽然approch

$items = array();
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
   $items[] = $row;
}