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 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
php面向对象全攻略 (十五) 多态的应用
Sep 30 PHP
php5 图片验证码实现代码
Dec 11 PHP
PHP新手NOTICE错误常见解决方法
Dec 07 PHP
php自动加载机制的深入分析
Jun 08 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
PHP中数组的分组排序实例
Jun 01 PHP
php数字运算验证码的实现代码
Jul 30 PHP
Joomla开启SEF的方法
May 04 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
详解Go与PHP的语法对比
May 29 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 日漫
新版PHP极大的增强功能和性能
2006/10/09 PHP
php反射应用示例
2014/02/25 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
js数组的操作详解
2013/03/27 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
清空元素html(&quot;&quot;) innerHTML=&quot;&quot; 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
Python遍历目录的4种方法实例介绍
2015/04/13 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
python安装Scrapy图文教程
2017/08/14 Python
python中退出多层循环的方法
2018/11/27 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
经典的班主任推荐信
2013/10/28 职场文书
医务工作者先进事迹材料
2014/01/26 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
心理学专业求职信
2014/06/16 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
会计师事务所实习证明
2014/11/16 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
一些让Python代码简洁的实用技巧总结
2021/08/23 Python