在 PHP 中连接数据库通常使用 mysqli
或 PDO
扩展。以下是使用这两种方法连接 MySQL 数据库的基本示例。
使用 mysqli
连接数据库
<?php
$servername = "localhost"; // 数据库服务器地址
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "database_name"; // 数据库名
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
// 在完成数据库操作后关闭连接
$conn->close();
?>
使用 PDO
连接数据库
<?php
$servername = "localhost"; // 数据库服务器地址
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "database_name"; // 数据库名
try {
$dsn = "mysql:host=$servername;dbname=$dbname;charset=utf8";
$pdo = new PDO($dsn, $username, $password);
// 设置 PDO 错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch (PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
// PDO 对象会在脚本执行结束时自动关闭连接,无需手动关闭
?>
注意事项
-
安全性:在生产环境中,不要将数据库的用户名和密码硬编码在脚本中。可以考虑使用环境变量或配置文件来管理这些敏感信息。
-
错误处理:在生产环境中,不要直接输出数据库连接错误信息,以防止敏感信息泄露。可以使用日志记录错误信息。
-
字符集:在连接数据库时,指定字符集(如 UTF-8)以避免字符编码问题。
-
扩展支持:确保你的 PHP 环境启用了
mysqli
或PDO_MySQL
扩展。可以通过phpinfo()
函数检查已启用的扩展。
选择合适的方法取决于你的项目需求和偏好。PDO
提供了更多的数据库抽象层支持,可以更方便地切换数据库类型,而 mysqli
是专门为 MySQL 设计的,可能在某些特定情况下性能更优。