PHP PDOStatement::bindParam讲解

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");
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • PHP PDOStatement::debugDumpParams讲解

    PDOStatement::debugDumpParams PDOStatement::debugDumpParams - 打印一条 SQL 预处理命令(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0) 说明 语法 bool PDOStatement::debugDumpParams ( void ) 直接打印出一条预处理语句包含的信息.提供正在使用的 SQL 查询.所用参数(Params)的数目.参数的清单.参数名.用一个整数表示的参数类型(paramtype).键名或位

  • PHP PDOStatement::execute讲解

    PDOStatement::execute PDOStatement::execute - 执行一条预处理语句(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 bool PDOStatement::execute ([ array $input_parameters ] ) 执行预处理过的语句.如果预处理过的语句含有参数标记,必须选择下面其中一种做法: 调用PDOStatement::bindParam()绑定 PHP 变量到参数标记:如果有的话,通过关联参数

  • PHP PDOStatement::errorCode讲解

    PDOStatement::errorCode PDOStatement::errorCode - 获取跟上一次语句句柄操作相关的 SQLSTATE(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 string PDOStatement::errorCode ( void ) 与PDO::errorCode()相同,只是PDOStatement::errorCode()只取回 PDOStatement 对象执行操作中的错误码. 返回值 没有返回值. 实例 取回

  • PHP PDOStatement::fetchAll讲解

    PDOStatement::fetchAll PDOStatement::fetchAll - 返回一个包含结果集中所有行的数组(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] ) 参数 fetch_style 控制下一行如何返回给调用者.此值必须

  • PHP PDOStatement::closeCursor讲解

    PDOStatement::closeCursor PDOStatement::closeCursor - 关闭游标,使语句能再次被执行.(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0) 说明 语法 bool PDOStatement::closeCursor ( void ) PDOStatement::closeCursor()释放到数据库服务的连接,以便发出其他 SQL 语句,但使语句处于一个可以被再次执行的状态. 当上一个执行的 PDOStatement 对象仍有

  • PHP PDOStatement::bindValue讲解

    PDOStatement::bindValue PDOStatement::bindValue - 把一个值绑定到一个参数(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] ) 绑定一个值到用作预处理的 SQL 语句中的对应命名占位符或问号占位符. 参数 param

  • PHP PDOStatement::fetch讲解

    PDOStatement::fetch PDOStatement::fetch - 从结果集中获取下一行(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] ) 从一个 PDOStatement 对象相关的结果集中获取

  • PHP PDOStatement::errorInfo讲解

    PDOStatement::errorInfo PDOStatement::errorInfo - 获取跟上一次语句句柄操作相关的扩展错误信息(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 array PDOStatement::errorInfo ( void ) PDOStatement::errorInfo() 返回一个关于上一次语句句柄执行操作的错误信息的数组 .该数组包含下列字段: 元素   信息 0     SQLSTATE 错误码(一个由5个字

  • PHP PDOStatement::columnCount讲解

    PDOStatement::columnCount PDOStatement::columnCount - 返回结果集中的列数.(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0) 说明 语法 int PDOStatement::columnCount ( void ) 使用PDOStatement::columnCount()返回由 PDOStatement 对象代表的结果集中的列数. 如果是由PDO::query()返回的 PDOStatement 对象,则列数计算立即可

  • PHP PDOStatement::fetchColumn讲解

    PDOStatement::fetchColumn PDOStatement::fetchColumn - 从结果集中的下一行返回单独的一列.(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0) 说明 语法 string PDOStatement::fetchColumn ([ int $column_number = 0 ] ) 从结果集中的下一行返回单独的一列,如果没有了,则返回 FALSE . 参数 column_number 你想从行里取回的列的索引数字(以0开始的索

随机推荐