PDO::prepare讲解

时间:2022-07-27
本文章向大家介绍PDO::prepare讲解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

PDO::prepare

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来请求一个可滚动游标。

返回值

如果成功,PDO::prepare()返回PDOStatement对象,如果失败返回 FALSE 或抛出异常 PDOException 。

实例

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

<?php
/* 通过数组值向预处理语句传递值 */
$sql = 'SELECT name, colour, calories
  FROM fruit
  WHERE calories < :calories AND colour = :colour';
$sth = $dbh- prepare($sql, array(PDO::ATTR_CURSOR =  PDO::CURSOR_FWDONLY));
$sth- execute(array(':calories' =  150, ':colour' =  'red'));
$red = $sth- fetchAll();
$sth- execute(array(':calories' =  175, ':colour' =  'yellow'));
$yellow = $sth- fetchAll();
? 

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。