PHP 教程:MySQL 连接方法详解

· PHP笔记 小技巧 PHP 入门笔记 MySQL连接 · 3 阅读 · 约 3 分钟

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 注入