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 相关文章推荐
PHP4.04简明安装
Oct 09 PHP
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
Apr 12 PHP
php 上传功能实例代码
Apr 13 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
Apr 26 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
PHP jQuery表单,带验证具体实现方法
Feb 15 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
php实现word转html的方法
Jan 22 PHP
php简单截取字符串代码示例
Oct 19 PHP
PHP token验证生成原理实例分析
Jun 05 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
单位速度在实战中的运用
2020/03/04 星际争霸
Yii开启片段缓存的方法
2016/03/28 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
django使用html模板减少代码代码解析
2017/12/12 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
python3判断IP地址的方法
2021/03/04 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
人力资源经理的岗位职责范本
2014/02/28 职场文书
小区文明倡议书
2014/05/16 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
学校运动会简讯
2015/07/20 职场文书
检讨书格式
2019/04/25 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android
Python序列化模块JSON与Pickle
2022/06/05 Python