欢迎访问宙启技术站
智能推送

PHP中的数据库函数:MySQL、Mysqli和PDO使用指南

发布时间:2023-06-25 20:36:24

在 PHP 中,与数据库相关的操作通常需要用到 MySQL、MySQLi 和 PDO 这几个库。这些库为开发人员提供了许多函数,用于连接、查询、更新和删除数据库中的数据。在本文中,我们将更深入地探讨这些库以及它们的使用方法。

MySQL

MySQL 是最古老的数据库 API 之一,提供多个不同的扩展程序,因此在各种 PHP 环境中都可以使用,但它已经被弃用。还有一些 PHP 库需要它来工作。

连接 MySQL

首先,我们需要连接到 MySQL 数据库。使用以下代码:

$link = mysql_connect('localhost', 'user', 'password');

这里 localhost 表示数据库服务器,user 和 password 是连接所需的用户名和密码。在本例中,我们将返回一个数据库连接句柄 $link,后面可以使用它来进行数据库操作。

查询数据库

假设我们有一个名为 users 的表格,它包含 id、username 和 age 字段,我们可以使用以下代码来获取所有用户信息:

$query = "SELECT * FROM users";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
    $id    = $row['id'];
    $name  = $row['username'];
    $age   = $row['age'];
    echo "ID: ".$id." Name: ".$name." Age: ".$age."<br/>";
}

在这里,我们首先使用 mysql_query 函数执行查询,并将结果存储在 $result 变量中。然后,我们使用 mysql_fetch_assoc 函数迭代扫描 $result 的所有行,并将其存储在 $row 变量中,最后输出用户名、年龄和 ID。

Mysqli

Mysqli 是 MySQL 的改进版。它提供了完全的面向对象方式,支持多语句批处理查询,以及更好的安全机制。与 MySQL 相反,Mysqli 可以支持多种 MySQL 服务器。

连接 MySqlConnection

与 MySQL 相同,我们可以使用以下代码连接到数据库:

$mysqli = mysqli_connect("localhost", "user", "password", "database");

这里,database 是您想使用的数据源名称。完成所有数据库操作后,您需要手动断开连接:

mysqli_close($mysqli);

查询数据库

假设我们有一个名为 users 的表格,我们可以使用以下代码获取所有用户信息:

$query = "SELECT * FROM users";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)
", $row["username"], $row["age"]);
    }
}

在这里,我们首先使用 $mysqli->query 函数执行查询,并将结果存储在 $result 变量中。然后,我们使用 $result->fetch_assoc 函数迭代扫描 $result 的所有行,并将其存储在 $row 变量中,最后输出用户名和年龄。

PDO

PDO 是一个很流行的 PHP 数据库扩展,可确保代码与多种数据库系统一起工作。PDO 提供了许多功能,使开发人员简单方便地切换数据库类型而无需更改代码。

连接 MySQLException

与 MySQL 和 Mysqli 相比,PDO 的连接方式非常优雅:

$dbh = new PDO('mysql:host=localhost;dbname=database', 'user', 'password');

在这里,我们使用 new PDO 创建一个新的 PDO 实例,其中包含连接字符串以及连接所需的用户名和密码。

查询 MySQL 数据库

假设我们有一个名叫 users 的表,并包含 id、username 和 age 字段。我们可以使用以下代码来获取所有用户信息:

$stmt = $dbh->prepare("SELECT * FROM users");
$stmt->execute();

// loop through the results
$rows = $stmt->fetchAll();
foreach($rows as $row){
    $id    = $row['id'];
    $name  = $row['username'];
    $age   = $row['age'];
    echo "ID: ".$id." Name: ".$name." Age: ".$age."<br/>";
}

在这里,我们首先使用 prepare 函数设置 SQL 语句,并使用 execute 函数执行查询。然后,我们使用 fetchAll 函数获取所有行,并将其存储在 $rows 数组中,最后输出用户名、年龄和 ID。

总结

在开发 PHP 应用时,通常需要使用数据库。这篇文章里,我们简述了三个库所提供的功能以及它们的使用方法,包括连接数据库和查询数据库。在使用某个库之前,了解它的优缺点,以便选择最适合您应用的库。