PHP PDO 连接 MySQL 的最佳实践
使用 PDO 连接 MySQL 时,建议做如下配置:
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]);
为什么关掉模拟预处理
关闭 EMULATE_PREPARES 后,SQL 与参数分离发送,能获得真正的服务端预处理,既更安全也更利于类型处理。
安全提醒
- 永远使用参数化查询,不要拼接 SQL
- 数据库账号遵循最小权限原则
- 开启
charset=utf8mb4