PHP 教程:MySQL 连接
在 PHP 开发中,连接 MySQL 数据库是最基础的操作之一。目前常用的方式有 mysqli 扩展和 PDO 两种,下面分别介绍。
一、使用 mysqli 连接(面向过程)
<?php
$conn = mysqli_connect('localhost', 'root', 'password', 'test_db');
if (!$conn) {
die('连接失败:' . mysqli_connect_error());
}
mysqli_set_charset($conn, 'utf8mb4');
echo '连接成功';
?>
二、使用 mysqli 连接(面向对象)
<?php
$mysqli = new mysqli('localhost', 'root', 'password', 'test_db');
if ($mysqli->connect_error) {
die('连接失败:' . $mysqli->connect_error);
}
$mysqli->set_charset('utf8mb4');
echo '连接成功';
?>
三、使用 PDO 连接
PDO 支持多种数据库,推荐在新项目中使用:
<?php
try {
$pdo = new PDO(
'mysql:host=localhost;dbname=test_db;charset=utf8mb4',
'root',
'password',
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]
);
echo '连接成功';
} catch (PDOException $e) {
die('连接失败:' . $e->getMessage());
}
?>
四、简单查询示例
<?php
$result = mysqli_query($conn, 'SELECT id, name FROM users');
while ($row = mysqli_fetch_assoc($result)) {
echo $row['id'] . ' - ' . $row['name'] . '<br>';
}
?>
五、关闭连接
<?php
// mysqli
mysqli_close($conn);
// PDO
$pdo = null;
?>
小结
mysqli只能用于 MySQL,PDO支持多种数据库,可移植性更好- 连接后记得设置字符集为
utf8mb4,避免中文乱码 - 生产环境建议开启异常模式,方便捕获连接和查询错误
- 查询用户输入时务必使用预处理语句,防止 SQL 注入