PHP PDO::prepare() 方法

返回上一级

PHP PDO::prepare() 准备要执行的SQL语句并返回一个 PDOStatement 对象

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

函数原型

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

为 PDOStatement::execute() 方法准备要执行的SQL语句,SQL 语句可以包含零个或多个命名(:name)或问号(?)参数标记,参数在SQL执行时会被替换

不能在 SQL 语句中同时包含命名(:name)或问号(?)参数标记,只能选择其中一种风格

预处理 SQL 语句中的参数在使用 PDOStatement::execute() 方法时会传递真实的参数

参数

参数 描述
statement 合法的 SQL 语句
driver_options 此数组包含一个或多个 key=>value 对来设置 PDOStatement 对象的属性
最常使用到是将 PDO::ATTR_CURSOR 值设置为 PDO::CURSOR_SCROLL 来请求一个可滚动游标

返回值

成功返回 PDOStatement 对象,失败返回 FALSE 或抛出异常 PDOException

范例

使用命名(:name)参数来准备 SQL 语句

<?php
/* 通过数组值向预处理语句传递值 */
$sql = 'SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour';

$stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();

$stmt->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();

范例 2

使用问号(?)参数来准备 SQL 语句

<?php
/* 通过数组值向预处理语句传递值 */
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?');

$stmt->execute(array(150, 'red'));
$red = $sth->fetchAll();

$stmt->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();

返回上一级

PHP 5 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.