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 相关文章推荐
php4的彩蛋
Oct 09 PHP
PHP 和 XML: 使用expat函数(二)
Oct 09 PHP
swfupload 多文件上传实现代码
Aug 27 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
php rsa加密解密使用详解
Jan 14 PHP
php查询whois信息的方法
Jun 08 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
PHP培训要多少钱
Jun 06 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
如何利用PHP实现上传图片功能详解
Sep 24 PHP
php redis setnx分布式锁简单原理解析
Oct 23 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编码规范之注释和文件结构说明
2010/07/09 PHP
php FLEA中二叉树数组的遍历输出
2012/09/26 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
JavaScript静态的动态
2006/09/18 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
Python itertools.product方法代码实例
2020/03/27 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
小学教师师德反思
2014/02/03 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
求职意向书
2014/07/29 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript