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 rawurlencode与urlencode函数的深入分析
Jun 08 PHP
PHP获取中英混合字符串长度的方法
Jun 07 PHP
Codeigniter实现处理用户登录验证后的URL跳转
Jun 12 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php微信开发之音乐回复功能
Jun 14 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 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
dedecms模板标签代码官方参考
2007/03/17 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
2013/09/16 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
详解python异步编程之asyncio(百万并发)
2018/07/07 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Keras设置以及获取权重的实现
2020/06/19 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
介绍一下XMLHttpRequest对象
2012/02/12 面试题
单位门卫岗位职责
2013/12/20 职场文书
超市活动计划书
2014/04/24 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
《鲸》教学反思
2016/02/23 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
利用Pycharm连接服务器的全过程记录
2021/07/01 Python
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
各国货币符号大全
2022/02/17 杂记
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers