PDO 是目前连接数据库较为频繁的使用方法,为了提高运行效率,使用预处理语句—— prepare() 方法,是较为有效的一条路径,本文就带大家一起来看一看。 首先需要了解一下 PDO::prepa
          
     PDO是目前连接数据库较为频繁的使用方法,为了提高运行效率,使用预处理语句——prepare()方法,是较为有效的一条路径,本文就带大家一起来看一看。
首先需要了解一下PDO::prepare的语法
public PDO::prepare ( string $statement , array $driver_options = array())
string $statement:必须是对目标数据库服务器有效的 SQL 语句模板。
$driver_options:数组包含一个或多个 key=>value 键值对,为返回的
PDOStatement对象设置属性。返回值:如果数据库服务器完成准备了语句,则 返回
PDOStatement对象。如果数据库服务器无法准备语句,则返回false或抛出PDOException(取决于 错误处理器)。
1.用命名参数形式准备 SQL 语句参数
<?php
/* 传入数组的值,并执行准备好的语句 */
$sql = 'SELECT id, height, heights
    FROM people
    WHERE heights < :heights AND height = :height';
    
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':heights' => 150, ':height' => 'tall'));
$tall = $sth->fetchAll();
$sth->execute(array(':heights' => 175, ':height' => 'small'));
$small = $sth->fetchAll();
?>2 用问号形式准备 SQL 语句参数
<?php
/* 传入数组的值,并执行准备好的语句 */
$sth = $dbh->prepare('SELECT id, height, heights
    FROM people
    WHERE heights < ? AND height = ?');
  
$sth->execute(array(150, 'tall'));
$tall = $sth->fetchAll();
$sth->execute(array(175, 'small'));
$small = $sth->fetchAll();
?>
