PHP PDOStatement::bindParam() 方法

返回上一级

PHP 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';
$stmt = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour');
$stmt->bindParam(':calories', $calories, PDO::PARAM_INT);
$stmt->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$stmt->execute();

范例

执行一条使用问号占位符的预处理语句

<?php
/*  通过绑定的 PHP 变量执行一条预处理语句 */
$calories = 150;
$colour = 'red';
$stmt = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?');
$stmt->bindParam(1, $calories, PDO::PARAM_INT);
$stmt->bindParam(2, $colour, PDO::PARAM_STR, 12);
$stmt->execute();

范例

使用 INOUT 参数调用一个存储过程

<?php
/* 使用 INOUT 参数调用一个存储过程 */

$colour = 'red';
$stmt = $dbh->prepare('CALL puree_fruit(?)');
$stmt->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$stmt->execute();
echo "After pureeing fruit, the colour is: $colour";

返回上一级

PHP 5 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.