使用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实例后设置属性:
青泥AI 青泥学术AI写作辅助平台
302 查看详情
立即学习“PHP免费学习笔记(深入)”;
$pdo = new PDO($dsn, $user, $pass);$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);设置后,后续的 fetch() 和 fetchAll() 调用无需再传参数,自动返回关联数组。
基本上就这些。只要注意选择正确的获取模式,PDO就能轻松返回你需要的关联数组格式。
以上就是php中PDO获取关联数组的详细内容,更多请关注php中文网其它相关文章!