PHP PDOStatement::bindParam讲解


Posted in PHP onJanuary 30, 2019

PDOStatement::bindParam

PDOStatement::bindParam — 绑定一个参数到指定的变量名(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

说明

语法

bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )

绑定一个PHP变量到用作预处理的SQL语句中的对应命名占位符或问号占位符。 不同于PDOStatement::bindValue() ,此变量作为引用被绑定,并只在PDOStatement::execute()被调用的时候才取其值。

大多数参数是输入参数,即,参数以只读的方式用来建立查询。一些驱动支持调用存储过程并作为输出参数返回数据,一些支持作为输入/输出参数,既发送数据又接收更新后的数据。

参数

parameter

  • 参数标识符。对于使用命名占位符的预处理语句,应是类似 :name 形式的参数名。对于使用问号占位符的预处理语句,应是以1开始索引的参数位置。

variable

  • 绑定到 SQL 语句参数的 PHP 变量名。

data_type

  • 使用 PDO::PARAM_* 常量明确地指定参数的类型。要从一个存储过程中返回一个 INOUT 参数,需要为 data_type 参数使用按位或操作符去设置 PDO::PARAM_INPUT_OUTPUT 位。

length

  • 预分配提示。

driverdata

  • 数据类型的长度。为表明参数是一个存储过程的 OUT 参数,必须明确地设置此长度。

driver_options

返回值

成功时返回 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
/* 通过绑定的 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();
?>

使用 INOUT 参数调用一个存储过程

<?php
/* 使用 INOUT 参数调用一个存储过程 */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>

总结

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

PHP 相关文章推荐
source.php查看源文件
Dec 09 PHP
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
Smarty Foreach 使用说明
Mar 23 PHP
解析PHP工厂模式的好处
Jun 18 PHP
php获取汉字首字母的函数
Nov 07 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
php图片的二进制转换实现方法
Dec 15 PHP
php微信公众平台开发类实例
Apr 01 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 #PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 #PHP
PDO::setAttribute讲解
Jan 29 #PHP
PDO::rollBack讲解
Jan 29 #PHP
PDO::quote讲解
Jan 29 #PHP
PDO::query讲解
Jan 29 #PHP
PDO::prepare讲解
Jan 29 #PHP
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
鼠标图片振动代码
2006/07/06 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
js定时器实例分享
2016/12/20 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
python处理圆角图片、圆形图片的例子
2014/04/25 Python
Python获取网页上图片下载地址的方法
2015/03/11 Python
python使用nntp读取新闻组内容的方法
2015/05/08 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
与UNIX有关的几个名词
2015/09/17 面试题
办公室文书岗位职责
2013/12/16 职场文书
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
初中地理教学反思
2016/02/19 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android