Code前端首页关于Code前端联系我们

使用 MySQL PDO 进行 PHP 开发

terry 2年前 (2023-09-30) 阅读数 46 #PHP
文章标签 PHP

1。 ZOP简介

PDO(PHP 数据对象)是 PHP 的轻量级通用数据访问层。它为访问不同类型的数据库提供了统一的接口。与以前常用的mysql_*函数和mysqli_*函数相比,PDO具有更好的安全性、更好的性能,并且支持更广泛的数据库类型,包括MySQL、SQLite、Oracle、PostgreSQL等。 使用PDO连接MySQL数据库需要以下参数: - 数据库主机名 - 姓名数据库 -名字数据库用户 -数据库用户的密码

2。 PDO 连接 MySQL 数据库

以下是 PDO 连接 MySQL 数据库的示例代码:
try {
    // 数据库信息
    $host = 'localhost';
    $dbname = 'testdb';
    $user = 'testuser';
    $pass = 'testpass';

    // 连接数据库
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    // 设置错误模式为抛出异常
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo '连接数据库失败:' . $e->getMessage();
}
此代码尝试连接到名为 testdb 的 MySQL 数据库,并将错误模式设置为引发异常。如果连接失败,则会显示错误消息。

3。 PDO查询信息

在PDO中,查询数据需要执行SQL语句并通过PDOStatement对象检索查询结果。以下是PDO查询数据的示例代码:
try {
    // 数据库信息
    $host = 'localhost';
    $dbname = 'testdb';
    $user = 'testuser';
    $pass = 'testpass';

    // 连接数据库
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    // 设置错误模式为抛出异常
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 查询数据
    $stmt = $pdo->query('SELECT name, age, gender FROM users');
    // 获取查询结果
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // 输出查询结果
    foreach ($result as $row) {
        echo "{$row['name']}, {$row['age']}, {$row['gender']}\n";
    }
} catch (PDOException $e) {
    echo '查询数据失败:' . $e->getMessage();
}
这段代码查询了名为users的表中的所有数据,并使用PDOStatement对象的fetchAll方法检索查询结果,最后遍历查询结果输出每行数据的姓名、年龄和性别字段。

4。 PDO 插入数据

在PDO中,插入数据需要执行SQL语句并通过PDOStatement对象获取插入的行数。下面是向ZOP插入数据的代码示例:
try {
    // 数据库信息
    $host = 'localhost';
    $dbname = 'testdb';
    $user = 'testuser';
    $pass = 'testpass';

    // 连接数据库
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    // 设置错误模式为抛出异常
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 插入数据
    $stmt = $pdo->prepare('INSERT INTO users (name, age, gender) VALUES (?, ?, ?)');
    $result = $stmt->execute(array('Tom', 18, 'male'));

    // 获取插入的行数
    $count = $stmt->rowCount();
    echo "插入了 {$count} 行数据\n";
} catch (PDOException $e) {
    echo '插入数据失败:' . $e->getMessage();
}
此代码将一行数据插入名为 users 的表中,并通过 PDOStatement 对象的 rowCount 方法检索插入的行数。

5。 PDO更新信息

在PDO中,更新数据需要执行SQL语句并通过PDOStatement对象获取更新的行号。以下是更新 PDO 数据的代码示例:
try {
    // 数据库信息
    $host = 'localhost';
    $dbname = 'testdb';
    $user = 'testuser';
    $pass = 'testpass';

    // 连接数据库
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    // 设置错误模式为抛出异常
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 更新数据
    $stmt = $pdo->prepare('UPDATE users SET age = ? WHERE name = ?');
    $result = $stmt->execute(array(20, 'Tom'));

    // 获取更新的行数
    $count = $stmt->rowCount();
    echo "更新了 {$count} 行数据\n";
} catch (PDOException $e) {
    echo '更新数据失败:' . $e->getMessage();
}
此代码将 users 表中 Tom 的年龄字段更新为 20,并通过 PDOStatement 对象的 rowCount 方法检索更新的行数。

6。 PDO数据删除

在PDO中,删除数据需要执行SQL语句并通过PDOStatement对象获取删除的行数。以下是PDO删除数据的示例代码:
try {
    // 数据库信息
    $host = 'localhost';
    $dbname = 'testdb';
    $user = 'testuser';
    $pass = 'testpass';

    // 连接数据库
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    // 设置错误模式为抛出异常
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 删除数据
    $stmt = $pdo->prepare('DELETE FROM users WHERE name = ?');
    $result = $stmt->execute(array('Tom'));

    // 获取删除的行数
    $count = $stmt->rowCount();
    echo "删除了 {$count} 行数据\n";
} catch (PDOException $e) {
    echo '删除数据失败:' . $e->getMessage();
}
此代码删除名为 users 的表中名称字段为 Tom 的行,并通过 PDOStatement 对象的 rowCount 方法检索已删除的行数。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门