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

标签 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

最佳答案

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

1) FetchAll 方法

改变:

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

通过:

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

2) 接近

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

关于php - fetch(PDO::FETCH_ASSOC) 将 MySQL 查询的所有值返回到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36722769/

相关文章:

mysql - 重新安装我的XAMPP,我只复制了xampp>mysql>data my database中的一个文件夹

php - MySQL 偶尔会返回错误的值

php - 使用 jQuery/AJAX 从 MySQL DB 获取登录用户列表?

php - 如何在redbeanphp中创建具有自定义名称的外键

php - 以 csv 格式导入和导出所有类别

php - 我们如何将两个 mp3 文件混合为一个(我需要混合而不是 concat)

mysql - CakePHP模型查询-复杂-多表-求和-计数-分组依据

mysql - 从 Excel 复制到 phpmyadmin 时删除特殊字符

php - 通过 PHP 将 MySQL 数据库显示为 HTML 编码表

php - mysql删除记录的问题