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 相关文章推荐
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
Laravel实现autoload方法详解
May 07 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
php session_decode函数用法讲解
May 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
解析php常用image图像函数集
2013/06/24 PHP
php上传图片类及用法示例
2016/05/11 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
javascript模拟命名空间
2015/04/17 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
python3中property使用方法详解
2019/04/23 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
网上开商店的创业计划书
2014/01/19 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
委托书格式
2014/08/01 职场文书
搞笑的获奖感言
2014/08/16 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
初中班主任工作随笔
2015/08/15 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
Python 中的Sympy详细使用
2021/08/07 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
关于Redis的主从复制及哨兵问题
2022/06/16 Redis