首页 > 编程笔记 > PHP笔记 阅读:2

PHP PDO prepare()和execute()的用法(附带实例)

在 PHP 程序中编写 SQL 语句时,如果将发送的数据和 SQL 语句写在一起,每条 SQL 语句都需要解析器进行分析、编译和优化,效率低。

预处理机制是先定义和发送模板形式的 SQL 语句,这样的语句用占位符替代实际的数据,称为预处理 SQL 语句,解析器会预先编译预处理 SQL 语句,再处理相关数据。

使用预处理机制可以避免数据中有特殊字符(如单引号)而导致的语法问题出现,提高程序运行效率。通过 PDO 中的预处理方法 prepare() 和 execute() 可以实现预处理机制。

prepare() 方法用于准备预处理 SQL 语句,其基本语法格式如下:
PDOStatement PDO::prepare (
   string $query,
   array $options = array()
)
在上述语法格式中:
当调用 prepare() 方法后,预处理 SQL 语句并不会执行,此时可以调用 execute() 方法执行。

execute() 方法的语法格式如下:
PDOStatement::execute($input_parameters)
在上述语法格式中,$input_parameters 是可选参数,表示为预处理SQL语句中的占位符绑定数据。如果预处理 SQL 语句中不包含占位符,可省略此参数。

下面演示如何使用预处理方法。创建 pdo03.php 文件,具体代码如下:
<?php
$dsn = 'mysql:host=localhost;port=3306;dbname=myframe;charset=utf8mb4';
$pdo = new PDO($dsn, 'root', '123456');
$sql = 'SELECT * FROM `student`';
$stmt = $pdo->prepare($sql);
var_dump($stmt->execute());   // 输出结果:bool(true)
在上述代码中:
上述代码的输出结果为 true,说明执行成功。

相关文章