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 相关文章推荐
第三节 定义一个类 [3]
Oct 09 PHP
php动态生成函数示例
Mar 21 PHP
PHP return语句另类用法不止是在函数中
Sep 17 PHP
ThinkPHP分页实例
Oct 15 PHP
php设置静态内容缓存时间的方法
Dec 01 PHP
php有道翻译api调用方法实例
Dec 22 PHP
PHP向socket服务器收发数据的方法
Jan 24 PHP
PHP读取PPT文件的方法
Dec 10 PHP
iOS10推送通知开发教程
Sep 19 PHP
PHP设计模式之简单工厂和工厂模式实例分析
Mar 25 PHP
thinkphp5框架扩展redis类方法示例
May 06 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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 星际争霸
一个程序下载的管理程序(四)
2006/10/09 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
AngularJS内置指令
2015/02/04 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Python 画出来六维图
2019/07/26 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
详解python中各种文件打开模式
2020/01/19 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
学校介绍信范文
2014/01/14 职场文书
学生会离职感言
2014/02/11 职场文书
校园安全演讲稿
2014/05/09 职场文书
大学生党性分析材料
2014/12/19 职场文书
统招统分证明
2015/06/23 职场文书
运动会加油稿50字
2015/07/21 职场文书
教师节领导致辞
2015/07/29 职场文书
学校远程教育工作总结
2015/08/11 职场文书
学校运动会开幕词
2016/03/03 职场文书
详解Python牛顿插值法
2021/05/11 Python
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
JavaScript中reduce()的用法
2022/05/11 Javascript