PDO::prepare讲解


Posted in PHP onJanuary 29, 2019

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 相关文章推荐
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
PHP设置一边执行一边输出结果的代码
Sep 30 PHP
PHP防盗链代码实例
Aug 27 PHP
php单态设计模式(单例模式)实例
Nov 18 PHP
php使用递归计算文件夹大小
Dec 24 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
详解js异步文件加载器
Jan 24 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
laravel配置Redis多个库的实现方法
Apr 10 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
PDO::lastInsertId讲解
Jan 29 #PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 #PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 #PHP
Yii2.0建立公共方法简单示例
Jan 29 #PHP
使用vs code编辑调试php配置的方法
Jan 29 #PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 #PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 #PHP
You might like
PHP生成月历代码
2007/06/14 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
ES2020系列之空值合并运算符 '??'
2020/07/22 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
python格式化字符串实例总结
2014/09/28 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python函数参数分类原理详解
2020/05/28 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
岗位职责的定义
2013/11/10 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
校庆标语集锦
2014/06/25 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
经销商会议开幕词
2016/03/04 职场文书
python字典的元素访问实例详解
2021/07/21 Python
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
MySQL 条件查询的常用操作
2022/04/28 MySQL
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript