PDO::prepare讲解

作者:php参考手册 时间:2023-06-06 06:15:28 

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();
?>
标签:php,pdo,prepare
0
投稿

猜你喜欢

  • python return实现汇率转换器教程示例

    2023-11-10 12:39:50
  • Python利用QQ邮箱发送邮件的实现方法(分享)

    2023-01-06 23:23:25
  • 解决pytorch trainloader遇到的多进程问题

    2023-02-22 13:46:59
  • 在Python中使用lambda高效操作列表的教程

    2023-08-02 04:42:53
  • go语言beego框架web开发语法笔记示例

    2024-05-21 10:25:22
  • python版微信跳一跳游戏辅助

    2021-08-16 09:03:19
  • Python函数中apply、map、applymap的区别

    2022-08-11 04:20:36
  • pandas处理csv文件的方法步骤

    2022-05-31 10:51:04
  • Win10下python 2.7.13 安装配置方法图文教程

    2023-01-13 20:12:27
  • Python二叉树定义与遍历方法实例分析

    2023-06-26 17:26:56
  • Go 语言入门之Go 计时器介绍

    2024-05-25 15:16:04
  • pandas.DataFrame.from_dict直接从字典构建DataFrame的方法

    2022-02-22 03:13:28
  • Python机器学习之AdaBoost算法

    2021-03-13 08:07:18
  • MySQL数据库临时文件究竟储存在哪里

    2009-09-06 12:11:00
  • Python绘制计算机CPU占有率变化的折线图

    2021-08-11 05:50:37
  • MYSQL ZIP免安装版配置步骤及图形化管理工具mysql-workbench

    2024-01-24 23:36:53
  • python 使用 with open() as 读写文件的操作方法

    2021-05-08 08:32:20
  • SQL Server中使用DTS设计器进行数据转移

    2009-01-08 16:15:00
  • 使用 Python 清理收藏夹里已失效的网站

    2023-01-11 01:26:00
  • Python中删除文件的几种方法实例

    2021-02-02 05:57:13
  • asp之家 网络编程 m.aspxhome.com