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 相关文章推荐
使用adodb lite解决问题
Dec 31 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
Nov 15 PHP
关于PHP开发的9条建议
Jul 27 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
php 数据结构之链表队列
Oct 17 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 PHP
Laravel validate error处理,ajax,json示例
Oct 25 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 FPDF类库应用实现代码
2009/03/20 PHP
php生成静态页面的简单示例
2014/04/17 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
Python性能优化的20条建议
2014/10/25 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
Python微信公众号开发平台
2018/01/25 Python
django允许外部访问的实例讲解
2018/05/14 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
python处理RSTP视频流过程解析
2020/01/11 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
毕业生就业自荐信
2013/12/04 职场文书
测控技术与仪器个人求职信范文
2013/12/30 职场文书
学习心得体会
2014/01/01 职场文书
诚信贷款承诺书
2014/05/30 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
Python 数据结构之十大经典排序算法一文通关
2021/10/16 Python
MySQL创建定时任务
2022/01/22 MySQL