PHP连接数据库主要通过MySQLi或PDO实现,MySQLi支持面向过程和对象方式连接MySQL,PDO则支持多种数据库且安全性更高,推荐用于现代应用。
PHP连接数据库主要通过MySQLi或PDO扩展实现,两者都支持连接MySQL数据库,PDO还支持更多数据库类型如PostgreSQL、SQLite等。下面分别介绍常见用法。
这是最基础的连接方式,适合简单项目:
$servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_database"; // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检查连接 if (!$conn) { die("连接失败: " . mysqli_connect_error()); } echo "连接成功";
更推荐的方式,结构清晰,便于维护:
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
PDO支持多种数据库,安全性高,推荐用于现代应用开发:
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
try {
$pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {
die("连接失败: " . $e->getMessage());
}
PDO也支持SQLite这类轻量级数据库:
try {
$pdo = new PDO("sqlite:mydatabase.db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "SQLite连接成功";
} catch(PDOException $e) {
die("连接失败: " . $e->getMessage());
}
注意事项:
mysqli_close($conn),PDO会在脚本结束时自动释放