2026-03-31 18:19:19
在PHP中连接MySQL数据库,最常用的方式是使用MySQLi或PDO扩展,两者各有特点:MySQLi支持面向过程和面向对象两种模式,PDO则更安全且支持多数据库操作。以下是具体连接方法及示例:
一、使用MySQLi连接MySQLMySQLi提供面向过程和面向对象两种写法,可根据项目需求选择。
面向过程写法(简单场景)适用于快速实现基础连接,代码简洁但结构稍显松散。
$host = 'localhost';$username = 'your_username';$password = 'your_password';$database = 'your_database';$conn = mysqli_connect($host, $username, $password, $database);if (!$conn) { die("连接失败: " . mysqli_connect_error());}echo "数据库连接成功";面向对象写法(推荐)结构更清晰,便于维护和扩展,适合复杂项目。
$host = 'localhost';$username = 'your_username';$password = 'your_password';$database = 'your_database';$conn = new mysqli($host, $username, $password, $database);if ($conn->connect_error) { die("连接失败: " . $conn->connect_error);}echo "数据库连接成功";PDO支持多种数据库,安全性高,尤其适合中大型项目或需要切换数据库的场景。其核心优势包括:
示例代码:
$host = 'localhost';$dbname = 'your_database';$username = 'your_username';$password = 'your_password';try { $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "数据库连接成功";} catch (PDOException $e) { die("连接失败: " . $e->getMessage());}三、关键注意事项参数替换将代码中的your_username、your_password和your_database替换为实际的数据库信息。若连接远程服务器,需确保主机地址正确且权限已开放。
服务状态检查
确保MySQL服务正在运行。
验证用户名和密码是否正确。
本地开发通常使用localhost,远程连接需配置服务器防火墙和MySQL用户权限。
资源释放
MySQLi:连接完成后调用mysqli_close($conn)关闭连接。
PDO:无需手动关闭,脚本执行结束时会自动释放资源。
安全性优化
使用PDO时,优先采用预处理语句执行SQL查询,避免直接拼接用户输入。
设置错误模式为异常(PDO::ERRMODE_EXCEPTION),便于集中处理错误。
通过以上方法,可灵活选择适合项目需求的连接方式,并确保连接过程稳定、安全。