PHP中bindParam()和bindValue()的区别

PDOStatement::bindParam() 函数

PDOStatement::bindParam() 函数是 PHP 中的一个内置函数,用于将参数绑定到指定的变量名。 此函数绑定变量,将它们的值作为输入传递,并接收其关联参数标记的输出值(如果有)。

语法:

bool PDOStatement::bindParam
( parameter,variable, data_type,length, $driver_options )

参数: 该函数接受上面提到的五个参数,如下所述:

  • $parameter :它是一个参数标识符,用于使用名称占位符准备语句。 它是形式的参数名称: name
  • $variable :此参数用于保存要绑定到 SQL 语句参数的变量的名称。
  • $data_type :它是使用 PDO::PARAM_* 常量的参数的显式数据类型。
  • $length : 此参数用于保存数据类型的长度。
  • $driver_options :此参数保存需要执行的操作。

返回值: 此函数在成功时返回 True ,在失败时返回 False

程序:

<?php

// setup PDO connection
db = new PDO('mysql:host=localhost;dbname=yiibaidb','root','');

// Get usernameusername = 'geesforgeeks';

stmt =db->prepare("SELECT * FROM users WHERE user = :username");

// Use bindParam function
stmt->bindParam(':username',username);

username = 'yiibai';stmt->execute();
?>

注意:SQL 语句将使用 yiibai 作为用户名执行,因为 :username 在执行时会搜索 $username ,而 $username 的最后一个已知值是 yiibai

PDOStatement::bindValue() 函数
PDOStatement::bindValue() 函数是 PHP 中的一个内置函数,用于将值绑定到参数。 此函数将值绑定到用于准备语句的 SQL 中相应的命名或问号占位符。
语法:

bool PDOStatement::bindValue( parameter,value, $data_type )

参数 :此函数接受三个参数,如上所述,如下所述:

  • $parameter :它是一个参数标识符,用于使用名称占位符准备语句。它是 form:name 的参数名称。
  • $value :该参数用于保存绑定参数的值。
  • $data_type :它是使用 PDO::PARAM_* 常量的参数的显式数据类型。

返回值 :此函数在成功时返回 True,在失败时返回 False。

程序

<?php

// setup PDO connection
db = new PDO('mysql:host=localhost;dbname=yiibaidb','root','');

// Get usernameusername = 'yiibai.com';
stmt =db->prepare("SELECT * FROM users WHERE user = :username");
// Use bindValue function
stmt->bindValue(':username',username);
username = 'yiibai';stmt->execute();
?>

注意 :SQL 语句将使用 yiibai.com 作为用户名执行,因为字面值 yiibai.combindValue() 函数之前已绑定到用户名。 对 $username 的进一步更改不会反映在准备好的语句中。

bindParam()bindValue() 的区别:

1、bindParam()

  • bindParam() 函数将参数绑定到 SQL 语句中的命名或问号占位符。
  • bindParam() 函数用于传递变量而不是值。
  • bindParam() 函数在运行时执行。
  • bindParam() 是一个 PHP 内置函数。
  • 参数可以在 bindParam() 中修改。
  • 它的返回值是布尔类型。

1、bindValue()

  • bindValue() 函数将值绑定到 SQL 语句中的命名或问号。
  • bindValue() 函数用于传递值和变量。
  • bindValue() 函数在编译时执行。
  • bindValue() 是一个内置的 PHP 函数
  • bindValue() 中不能修改参数。
  • 它的返回值是布尔类型。
—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花