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 相关文章推荐
用PHP生成自己的LOG文件
Oct 09 PHP
PHP 高手之路(一)
Oct 09 PHP
ADODB类使用
Nov 25 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
PHP Try-catch 语句使用技巧
Feb 28 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 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 IF ELSE简化/三元一次式的使用
2011/08/22 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
JS中的作用域链
2017/03/01 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
浅谈vue路径优化之resolve
2017/10/13 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Python如何合并多个字典或映射
2020/07/24 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
C++:memset ,memcpy和strcpy的根本区别
2013/04/27 面试题
妇科医生自荐信
2013/11/05 职场文书
五一促销活动总结
2014/07/01 职场文书
个人作风建设总结
2014/10/23 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
干部年终考核评语
2015/01/04 职场文书
学雷锋日活动总结
2015/02/06 职场文书
员工辞职信怎么写
2015/02/27 职场文书
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android