PDO语句::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
<?php
// setup PDO connection
$db = new PDO('mysql:host=localhost;dbname=geeks','root','');
// Get username
$username = 'geeksforgeeks';
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username");
// Use bindParam function
$stmt->bindParam(':username', $username);
$username = 'g4g';
$stmt->execute();
?>
注意:SQL 语句将使用 ‘g4g’ 作为用户名执行,因为:username 在执行时搜索 $username,而 $username 的最后一个已知值是 ‘g4g’。
PDO语句::bindValue()函数
PDOStatement::bindValue() 函数是 PHP 中的内置函数,用于将值绑定到参数。此函数将一个值绑定到 SQL 中相应的命名或问号占位符,用于准备语句。
用法:
bool PDOStatement::bindValue( $parameter, $value, $data_type )
参数:该函数接受如上所述和如下所述的三个参数:
- $parameter:它是一个参数标识符,用于使用名称占位符准备语句。它是形如:name 的参数名称。
- $value:该参数用于保存绑定参数的值。
- $data_type:它是使用 PDO::PARAM_* 常量的参数的显式数据类型。
返回值:该函数成功时返回 True,失败时返回 False。
程序:
php
<?php
// setup PDO connection
$db = new PDO('mysql:host=localhost;dbname=geeks','root','');
// Get username
$username = 'geeksforgeeks';
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username");
// Use bindValue function
$stmt->bindValue(':username', $username);
$username = 'g4g';
$stmt->execute();
?>
注意:SQL 语句将使用‘geeksforgeeks’ 作为用户名执行,因为文字值“geeksforgeeks” 已在bindValue() 函数之前绑定到用户名。对 $username 的进一步更改将不会反映在准备好的语句中。
bindParam() 和 bindValue() 之间的区别:
- bindParam():
- bindParam() 函数绑定一个参数SQL 语句中的命名占位符或问号占位符。
- bindParam()函数用于传递变量而不是值.
- bindParam() 函数在运行时执行。
- bindParam 是 PHP inbuilt function 。
- 参数可以在bindParam()中修改。
- 它的返回值是boolean类型。
- bindValue():
- bindValue() 函数绑定一个值SQL 语句中的命名或问号。
- bindValue() 函数用于同时传递值和变量.
- bindValue 函数在编译时执行。
- bindValue() 是一个内置的 PHP 函数
- bindValue()中的参数无法修改。
- 它的返回值是boolean类型。
相关用法
- PHP bindec()用法及代码示例
- PHP bin2hex()用法及代码示例
- PHP base_convert()用法及代码示例
- PHP basename()用法及代码示例
- PHP base64_decode()用法及代码示例
- PHP base64_encode()用法及代码示例
- PHP bcadd()用法及代码示例
- PHP bccomp()用法及代码示例
- PHP bcdiv()用法及代码示例
- PHP bcmod()用法及代码示例
- PHP bcmul()用法及代码示例
- PHP bcpow()用法及代码示例
- PHP bcpowmod()用法及代码示例
- PHP bcscale()用法及代码示例
- PHP bcsqrt()用法及代码示例
- PHP bcsub()用法及代码示例
- PHP boolval()用法及代码示例
- PHP break和continue的区别用法及代码示例
- PHP Hebrev()用法及代码示例
- PHP Max()用法及代码示例
- PHP String htmlspecialchars()用法及代码示例
- PHP String htmlspecialchars_decode()用法及代码示例
- PHP String localeconv()用法及代码示例
- PHP String nl2br()用法及代码示例
- PHP String nl_langinfo()用法及代码示例
注:本文由纯净天空筛选整理自Samdare B大神的英文原创作品 Difference between bindParam and bindValue in PHP。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。