查询

PDO::prepare()函数—用法及示例

「 准备 SQL 语句并返回一个 PDOStatement 对象,以供后续执行 」


函数名称:PDO::prepare()

适用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8

函数描述:该函数用于准备 SQL 语句并返回一个 PDOStatement 对象,以供后续执行。它可以防止 SQL 注入攻击,提高安全性。

语法:PDOStatement PDO::prepare(string $statement [, array $driver_options = array() ])

参数:

  • $statement:需要准备的 SQL 语句,可以包含命名或占位符。
  • $driver_options(可选):关于预处理语句的选项。可以是一个关联数组,包含以下选项:
    • PDO::ATTR_CURSOR:设置游标类型。
    • PDO::ATTR_EMULATE_PREPARES:是否启用模拟预处理。
    • PDO::ATTR_FETCH_TABLE_NAMES:在返回结果集中包含表名。
    • PDO::ATTR_STATEMENT_CLASS:设置结果集对象的类名和构造函数参数。

返回值:返回一个 PDOStatement 对象,如果失败则返回 false。

示例:

// 创建一个 PDO 对象
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = 'password';
$pdo = new PDO($dsn, $username, $password);

// 准备 SQL 语句
$sql = "SELECT * FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);

// 绑定参数
$id = 1;
$stmt->bindParam(':id', $id, PDO::PARAM_INT);

// 执行查询
$stmt->execute();

// 获取结果
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

// 输出结果
foreach ($result as $row) {
    echo $row['name'] . "<br>";
}

在上面的示例中,我们首先创建了一个 PDO 对象,然后使用 prepare() 函数准备了一条带有占位符的 SQL 查询语句。接下来,我们使用 bindParam() 方法绑定了一个参数,并将其值设置为 1。然后,我们使用 execute() 方法执行查询,并使用 fetchAll() 方法获取结果集。最后,我们通过一个循环输出了结果集中的每一行的名字。这是一个简单的示例,展示了 PDO::prepare() 函数的基本用法。

补充纠错
上一个函数: PDO::query()函数
下一个函数: PDO::pgsqlLOBUnlink()函数
热门PHP函数
分享链接