如何用PHP连接MySQL数据库
使用PHP连接MySQL数据库的核心方法是利用PDO(PHP Data Objects)扩展或mysqli扩展,这两者都提供了与MySQL服务器建立安全连接的功能。 无论是开发动态网站还是数据驱动的Web应用,掌握PHP与MySQL的连接技术都是基础且关键的一步,本文将详细介绍这两种主流连接方式,并指导你如何根据项目需求选择最合适的方法。
PDO连接方式
PDO是PHP推荐的数据库抽象层,支持多种数据库(如MySQL、PostgreSQL等),具有预处理语句功能,能有效防止SQL注入攻击。

基本连接语法如下:
<?php
$host = 'localhost';
$dbname = '数据库名';
$username = '用户名';
$password = '密码';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功!";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
关键点:
- 连接字符串格式为
mysql:host=主机名;dbname=数据库名 - 使用try-catch块处理连接异常
setAttribute()设置错误模式,便于调试
mysqli连接方式
mysqli是MySQL专用的扩展,提供面向对象和面向过程两种编程风格。
面向对象方式:
<?php
$host = 'localhost';
$username = '用户名';
$password = '密码';
$dbname = '数据库名';
// 创建连接
$conn = new mysqli($host, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功!";
?>
面向过程方式:
<?php
$conn = mysqli_connect("localhost", "用户名", "密码", "数据库名");
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功!";
?>
连接参数配置
无论选择哪种方式,都需要准备四个基本参数:
- 主机名(通常为localhost)
- 数据库用户名
- 数据库密码
- 数据库名称
安全建议:
- 将连接信息存储在独立的配置文件中
- 使用环境变量或配置文件而非硬编码
- 避免在生产环境中使用默认的MySQL账户
PDO与mysqli的选择
PDO的优势:
- 数据库无关性,便于切换数据库系统
- 命名参数支持更好的可读性
- 更全面的错误处理机制
mysqli的优势:
- MySQL专属功能支持更完整
- 多查询支持
- 某些场景下性能略优
对于新项目,通常推荐使用PDO,因为它更安全、更灵活;而对于需要MySQL特有功能或维护旧代码的项目,mysqli是合适的选择。
连接后的基本操作
连接成功后,可以执行查询:
// 使用PDO查询示例 $sql = "SELECT * FROM users"; $stmt = $conn->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); // 使用mysqli查询示例 $sql = "SELECT * FROM users"; $result = $conn->query($sql);
重要: 操作完成后,应关闭数据库连接:
// PDO关闭连接 $conn = null; // mysqli关闭连接 $conn->close();
常见错误与调试
- “Access denied”错误:检查用户名和密码
- “Unknown database”错误:确认数据库是否存在
- 连接超时:检查主机地址和网络连接
- 扩展未启用:确保php.ini中启用了PDO或mysqli扩展
掌握PHP连接MySQL的两种主要方式——PDO和mysqli——是每个PHP开发者的必备技能。 在实际开发中,建议根据项目需求、团队熟悉度和数据库要求选择合适的方法,并始终遵循安全最佳实践,如使用预处理语句防止SQL注入,正确建立数据库连接是构建安全、高效Web应用的基石,值得投入时间深入理解和掌握。
无论是简单的个人博客还是复杂的企业级应用,稳固的数据库连接都是数据驱动型网站成功运行的前提,随着PHP版本的更新,这些连接方法也在不断优化,保持学习最新技术趋势,将帮助你在Web开发道路上走得更远。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/5858.html发布于:2026-07-20





