PHP中PDOStatement::bindParam的作用是什么

今天就跟大家聊聊有关PHP中PDOStatement::bindParam的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

PDOStatement::bindParam

PDOStatement::bindParam — 绑定一个参数到指定的变量名(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

说明

语法

boolPDOStatement::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('SELECTname,colour,calories
FROMfruit
WHEREcalories<:caloriesANDcolour=: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('SELECTname,colour,calories
FROMfruit
WHEREcalories<?ANDcolour=?');
$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('CALLpuree_fruit(?)');
$sth->bindParam(1,$colour,PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT,12);
$sth->execute();
print("Afterpureeingfruit,thecolouris:$colour");
?>

看完上述内容,你们对PHP中PDOStatement::bindParam的作用是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。

发布于 2021-06-13 23:17:50
分享
海报
168
上一篇:PHP中PDOStatement::debugDumpParams的作用是什么 下一篇:PHP中PDOStatement::bindColumn的作用是什么
目录

    推荐阅读

    忘记密码?

    图形验证码