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 相关文章推荐
第十四节 命名空间 [14]
Oct 09 PHP
C# WinForm中实现快捷键自定义设置实例
Jan 23 PHP
php模拟服务器实现autoindex效果的方法
Mar 10 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
Dec 18 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
php-fpm中max_children的配置
Mar 15 PHP
Yii2处理密码加密及验证的方法
May 12 PHP
php中的钩子理解及应用实例分析
Aug 30 PHP
thinkphp 框架数据库切换实现方法分析
May 18 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中的global
2014/08/19 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
JS重载实现方法分析
2016/12/16 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
python select.select模块通信全过程解析
2017/09/20 Python
django 修改server端口号的方法
2018/05/14 Python
python计算列表内各元素的个数实例
2018/06/29 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
python获取txt文件词向量过程详解
2019/07/05 Python
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
医药专业应届毕业生求职信范文
2014/01/01 职场文书
个人违纪检讨书
2014/09/15 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
雷峰塔导游词
2015/02/09 职场文书
2015上半年个人工作总结
2015/07/27 职场文书