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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
使用PHP模拟HTTP认证
Oct 09 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
php一个找二层目录的小东东
Aug 02 PHP
php读取文件内容的三种可行方法示例介绍
Feb 08 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
php验证码生成代码
Nov 11 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
php接口实现拖拽排序功能
Apr 23 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
Laravel 自带的Auth验证登录方法
Sep 30 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实现变色验证码实例
2014/01/06 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
php-app开发接口加密详解
2018/04/18 PHP
php7下的filesize函数
2019/09/30 PHP
JavaScript延迟加载
2021/03/09 Javascript
List the Codec Files on a Computer
2007/06/18 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python函数中的可变长参数详解
2019/09/12 Python
pycharm运行scrapy过程图解
2019/11/22 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
士力架广告词
2014/03/20 职场文书
食品工程专业求职信
2014/06/15 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
七一建党节慰问信
2015/02/14 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
mysql死锁和分库分表问题详解
2021/04/16 MySQL
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA