PHP 连接 MySQL


PHP 连接 MySQL

简介

PHP 可以使用 MySQLi 和 PDO_MYSQL 连接 MySQL 数据库进行开发。这些扩展提供了一种连接和操作 MySQL 数据库的强大方式。

本文将介绍如何使用 MySQLi 和 PDO_MYSQL 扩展连接 MySQL 数据库。

连接 MySQL 数据库(MySQLi 扩展)

MySQLi 扩展是一个改进的 MySQL 扩展,支持 MySQL 4.1 及更高版本。它提供了面向对象和过程式两种接口来连接数据库。

使用面向对象方法连接 MySQL 数据库的代码如下:

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检测连接
if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

其中,$servername 为服务器名称,例如 "localhost"$username 为用户名;$password 为连接密码;$dbname 为数据库名称。

使用过程式方法连接 MySQL 数据库的代码如下:

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接
if (!$conn) {
  die("连接失败: " . mysqli_connect_error());
}

连接 MySQL 数据库(PDO_MYSQL 扩展)

PDO_MYSQL 扩展提供了一种类似于抽象层方式的数据库连接方式,使得后期更换数据库更加方便。它支持一系列的数据库驱动(并非所有数据库),其中 MySQL 就是其中之一。以下是使用 PDO_MYSQL 扩展连接 MySQL 数据库的示例:

// 创建连接
try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功";
}
catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}

执行 MySQL 查询语句

可以使用 MySQLi 和 PDO_MYSQL 扩展来执行 MySQL 查询语句。

使用 MySQLi 扩展执行查询语句的代码如下:

$sql = "SELECT * FROM my_table";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // 输出每行数据
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
  }
} else {
  echo "0 结果";
}
$conn->close();

使用 PDO_MYSQL 扩展执行查询语句的代码如下:

$sql = 'SELECT * FROM my_table';
foreach ($conn->query($sql) as $row) {
    print_r($row);
}

注销 MySQL 连接

操作完 MySQL 数据库后,应该及时注销连接,以释放资源。使用 MySQLi 扩展和 PDO_MYSQL 扩展均可使用以下语句注销连接:

$conn->close();

结语

本文介绍了如何使用 MySQLi 和 PDO_MYSQL 扩展连接 MySQL 数据库、执行 MySQL 查询语句以及注销连接。希望本文能够对 PHP 开发者连接 MySQL 数据库有所帮助。