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");  ?>
                    © 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    
















请登录后发表评论
注册
社交帐号登录