PHP PDOStatement::execute讲解


Posted in PHP onJanuary 31, 2019

PDOStatement::execute

PDOStatement::execute — 执行一条预处理语句(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

说明

语法

bool PDOStatement::execute ([ array $input_parameters ] )

执行预处理过的语句。如果预处理过的语句含有参数标记,必须选择下面其中一种做法:

  • 调用PDOStatement::bindParam()绑定 PHP 变量到参数标记:如果有的话,通过关联参数标记绑定的变量来传递输入值和取得输出值
  • 或传递一个只作为输入参数值的数组

参数

input_parameters

  • 一个元素个数和将被执行的 SQL 语句中绑定的参数一样多的数组。所有的值作为 PDO::PARAM_STR 对待。
  • 不能绑定多个值到一个单独的参数;比如,不能绑定两个值到 IN()子句中一个单独的命名参数。
  • 绑定的值不能超过指定的个数。如果在 input_parameters 中存在比 PDO::prepare() 预处理的SQL 指定的多的键名,则此语句将会失败并发出一个错误。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

实例

执行一条绑定变量的预处理语句

<?php
/* 通过绑定 PHP 变量执行一条预处理语句 */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
 FROM fruit
 WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

使用一个含有插入值的数组执行一条预处理语句(命名参数)

<?php
/* 通过传递一个含有插入值的数组执行一条预处理语句 */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
 FROM fruit
 WHERE calories < :calories AND colour = :colour');
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>

使用一个含有插入值的数组执行一条预处理语句(占位符)

<?php
/* 通过传递一个插入值的数组执行一条预处理语句 */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
 FROM fruit
 WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>

执行一条问号占位符的预处理语句

<?php
/* 通过绑定 PHP 变量执行一条预处理语句 */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
 FROM fruit
 WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

使用数组执行一条含有 IN 子句的预处理语句

<?php
/* 使用一个数组的值执行一条含有 IN 子句的预处理语句 */
$params = array(1, 21, 63, 171);
/* 创建一个填充了和params相同数量占位符的字符串 */
$place_holders = implode(',', array_fill(0, count($params), '?'));
/*
 对于 $params 数组中的每个值,要预处理的语句包含足够的未命名占位符 。
 语句被执行时, $params 数组中的值被绑定到预处理语句中的占位符。
 这和使用 PDOStatement::bindParam() 不一样,因为它需要一个引用变量。
 PDOStatement::execute() 仅作为通过值绑定的替代。
*/
$sth = $dbh->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$sth->execute($params);
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
杏林同学录(九)
Oct 09 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
ThinkPHP标签制作教程
Jul 10 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
php常用hash加密函数
Nov 22 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
php实现图片等比例缩放代码
Jul 23 PHP
windows下apache搭建php开发环境
Aug 27 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 PHP
PHP PDOStatement::errorInfo讲解
Jan 31 #PHP
PHP PDOStatement::errorCode讲解
Jan 31 #PHP
PHP PDOStatement::columnCount讲解
Jan 30 #PHP
PHP PDOStatement::closeCursor讲解
Jan 30 #PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 #PHP
PHP PDOStatement::bindValue讲解
Jan 30 #PHP
PHP PDOStatement::bindParam讲解
Jan 30 #PHP
You might like
PHP文件下载类
2006/12/06 PHP
也谈php网站在线人数统计
2008/04/09 PHP
php escape URL编码
2008/12/10 PHP
phpMyAdmin链接MySql错误 个人解决方案
2009/12/28 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
php实现cookie加密的方法
2015/03/10 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python决策树之CART分类回归树详解
2017/12/20 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
python实现tail -f 功能
2020/01/17 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
升学宴主持词
2014/04/02 职场文书
政府门卫岗位职责
2014/04/29 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书