pdostatement::bindparam-k8凯发旗舰

pdostatement::bindparam

(php 5 >= 5.1.0, php 7, php 8, pecl pdo >= 0.1.0)

pdostatement::bindparam绑定一个参数到指定的变量名  

说明

public pdostatement::bindparam(
    string|int $param,
    mixed &$var,
    int $type = pdo::param_str,
    int $maxlength = 0,
    mixed $driveroptions = null
): bool

绑定一个php变量到用作预处理的sql语句中的对应命名占位符或问号占位符。 不同于 pdostatement::bindvalue() ,此变量作为引用被绑定,并只在 pdostatement::execute() 被调用的时候才取其值。

大多数参数是输入参数,即,参数以只读的方式用来建立查询(但仍然可以根据 type 进行转换)。一些驱动支持调用存储过程并作为输出参数返回数据,一些支持作为输入/输出参数,既发送数据又接收更新后的数据。

参数


  • param

  • 参数标识符。对于使用命名占位符的预处理语句,应是类似:name形式的参数名。对于使用问号占位符的预处理语句,应是以1开始索引的参数位置。

  • var

  • 绑定到 sql 语句参数的 php 变量名。

  • type

  • 使用 pdo::param_* 常量明确地指定参数的类型。要从存储过程中返回 inout 参数,需要为 type 参数使用按位或操作符去设置 pdo::param_input_output 位。

  • maxlength

  • 数据类型的长度。为表明参数是一个存储过程的  out 参数,必须明确地设置此长度。        仅当 type 参数为 pdo::param_input_output 时才有意义。

  • driveroptions


返回值

成功时返回 true, 或者在失败时返回 false

错误/异常

如果属性 pdo::attr_errmode 设置为 pdo::errmode_warning,则发出级别为 e_warning 的错误。

如果属性 pdo::attr_errmode 设置为 pdo::errmode_exception,则抛出 pdoexception

范例

example #1 执行一条使用命名占位符的预处理语句

/* 通过绑定的 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);
$sth->execute();
?>  

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

2
#pdo #php
发表评论
投稿
网站地图