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

PHP中的mysqli_query()函数和PDO类的使用方式

发布时间:2023-08-29 07:07:59

mysqli_query()函数和PDO类都是PHP中用于执行SQL语句的方法。

1. mysqli_query()函数:

mysqli_query()函数是PHP中操作MySQL数据库的一个函数,它用于执行一条数据库查询。

用法示例:

$conn = mysqli_connect("localhost", "username", "password", "database");
$query = "SELECT * FROM users";
$result = mysqli_query($conn, $query);

if ($result) {
    // 查询成功
    while ($row = mysqli_fetch_assoc($result)) {
        // 处理查询结果
        echo $row['name'];
    }
} else {
    // 查询失败
    echo mysqli_error($db);
}

mysqli_close($conn);

在以上示例中,先通过mysqli_connect()函数建立与数据库的连接,然后调用mysqli_query()函数执行查询语句,返回一个结果集对象。如果查询成功,可以通过mysqli_fetch_assoc()函数获取结果集中的数据。如果查询失败,可以使用mysqli_error()函数获取错误信息。最后,使用mysqli_close()函数关闭与数据库的连接。

2. PDO类:

PDO(PHP Data Objects)是PHP中一个用于访问数据库的通用接口,支持多种数据库,如MySQL、SQLite等。

用法示例:

$dsn = "mysql:host=localhost;dbname=database";
$user = "username";
$password = "password";

try {
    $dbh = new PDO($dsn, $user, $password);
    $query = "SELECT * FROM users";
    $stmt = $dbh->query($query);

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        // 处理查询结果
        echo $row['name'];
    }
} catch (PDOException $e) {
    // 查询失败或连接错误
    echo "Error: " . $e->getMessage();
}

$dbh = null;

以上示例中,首先通过PDO类的构造函数创建一个PDO对象,传入数据库的连接参数。然后通过query()方法执行查询语句,返回一个PDOStatement对象。可以使用fetch()方法以关联数组的形式获取查询结果。

在使用PDO类时,还可以使用预处理语句来提高效率和安全性,例如:

$query = "SELECT * FROM users WHERE id = :id";
$stmt = $dbh->prepare($query);
$stmt->bindParam(':id', $id);
$stmt->execute();

以上代码中,通过使用预处理语句和bindParam()方法绑定参数,可以避免SQL注入等安全问题。

综上所述,mysqli_query()函数和PDO类都是PHP中常用的数据库操作方法,具有各自的特点和用法,开发者可以根据具体需求选择适合的方式来操作数据库。