使用PDO获取关联数组需设置模式为PDO::FETCH_ASSOC,执行查询时通过fetch()或fetchAll()返回字段名键数组,预处理语句同样适用,亦可全局设置ATTR_DEFAULT_FETCH_MODE属性使所有结果默认为关联数组。

在PHP中使用PDO获取关联数组,关键在于设置获取模式为关联数组。PDO默认支持多种获取方式,其中PDO::FETCH_ASSOC专门用于返回关联数组,只包含字段名作为键,不包含数字索引。
设置获取模式为关联数组
执行查询后,调用 fetch() 或 fetchAll() 方法时指定获取模式:
- $stmt = $pdo->query("SELECT id, name FROM users");
- $result = $stmt->fetch(PDO::FETCH_ASSOC); // 获取单行
- // 或
- $results = $stmt->fetchAll(PDO::FETCH_ASSOC); // 获取所有行
预处理语句中使用关联数组
使用预处理语句更安全,尤其处理用户输入时。执行后同样可获取关联数组:
- $sql = "SELECT * FROM users WHERE age > ?";
- $stmt = $pdo->prepare($sql);
- $stmt->execute([18]);
- $users = $stmt->fetchAll(PDO::FETCH_ASSOC);
全局设置默认获取模式
如果希望所有查询默认返回关联数组,可以在创建PDO实例后设置属性:
本软件完全免费,无任何bug。用户可放心使用,网关需单独注册,请联系软件作者。1、关于接口设置:721K 卡易智能点卡接口,易宝支付网银接口。2、关于账户功能:商户信息管理、玩家留言信箱、网关下载、资金管理。3、关于游戏管理:分区管理、添加分区、分组管理、比例模板、补发管理、获取代码。4、关于订单管理:订单查询、渠道管理、结算统计。5、关于数据统计:玩家排名、分区排名、渠道统计。6、程序是 .NE
立即学习“PHP免费学习笔记(深入)”;
- $pdo = new PDO($dsn, $user, $pass);
- $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
设置后,后续的 fetch() 和 fetchAll() 调用无需再传参数,自动返回关联数组。
基本上就这些。只要注意选择正确的获取模式,PDO就能轻松返回你需要的关联数组格式。










