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中的日期处理方法集锦
Jan 02 PHP
PHP 模拟登陆MSN并获得用户信息
May 16 PHP
PHP 组件化编程技巧
Jun 06 PHP
php MYSQL 数据备份类
Jun 19 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
Mar 21 PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 PHP
Laravel框架实现的记录SQL日志功能示例
Jun 19 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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递归json类实例
2014/12/02 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
js 深拷贝函数
2008/12/04 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
python实现Flappy Bird源码
2018/12/24 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
初中数学教学反思
2014/01/16 职场文书
活动总结新闻稿
2014/08/30 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
开平碉楼导游词
2015/02/06 职场文书
2015秋季新学期开学寄语
2015/05/28 职场文书
2016银行求职自荐信
2016/01/28 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
frg-100简单操作(设置)说明
2022/04/05 无线电