如何在PHP中使用PDO连接数据库并查询user_info表全量数据
PHP PDO连接数据库并查询user_info表实现方案
前置依赖
确保你的PHP环境已开启pdo扩展以及对应数据库的驱动(以MySQL为例,需开启pdo_mysql扩展)。
配置参数说明
- 数据库主机:默认本地为
127.0.0.1,远程服务请替换为对应IP - 数据库名称:
meta - 登录用户名:
root - 登录密码:替换为你本地/服务端root账号的实际密码
- 目标表:
user_info
完整实现代码
<?php // 数据库配置项 $dbHost = '127.0.0.1'; $dbName = 'meta'; $dbUser = 'root'; $dbPass = 'your_password'; // 替换为实际密码 $charset = 'utf8mb4'; try { // 初始化PDO连接 $dsn = "mysql:host={$dbHost};dbname={$dbName};charset={$charset}"; $pdo = new PDO($dsn, $dbUser, $dbPass); // 设置错误模式为异常抛出,方便问题排查 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 查询user_info表全部数据 $stmt = $pdo->query("SELECT * FROM user_info"); // 以关联数组格式获取全部查询结果 $userData = $stmt->fetchAll(PDO::FETCH_ASSOC); // 此处可自行处理查询结果,示例为打印输出 print_r($userData); } catch (PDOException $e) { die("操作错误:" . $e->getMessage()); } // 可选:手动关闭连接,PHP脚本执行结束后会自动释放 $pdo = null; ?>
注意事项
- DSN中指定
charset=utf8mb4是为了避免中文乱码,兼容所有Unicode字符 - 生产环境请不要直接输出异常信息,防止数据库敏感配置泄露
- 若查询数据量极大,不建议使用
fetchAll()一次性读取全部数据,可直接遍历$stmt对象逐行读取,降低内存占用
内容的提问来源于stack exchange,提问作者ms00
相关产品推荐
相关产品推荐

