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。
程序:
prepare("SELECT * FROM users WHERE user = :username");
// Use bindParam function
$stmt->bindParam(':username', $username);
$username = 'g4g';
$stmt->execute();
?>
注意: SQL 语句将使用 ‘g4g’ 作为用户名执行,因为 :username 在执行时搜索 $username,而 $username 的最后一个已知值是 ‘g4g’。
PDOStatement::bindValue()函数
PDOStatement::bindValue()函数是PHP的一个内置函数,用于将值绑定到参数。此函数将值绑定到用于准备语句的 SQL 中相应的命名或问号占位符。
句法:
bool PDOStatement::bindValue( $parameter, $value, $data_type )
参数:该函数接受上面提到和下面描述的三个参数:
- $parameter:它是一个参数标识符,用于使用名称占位符准备语句。它是形式 :name 的参数名称。
- $value:这个参数用来保存绑定参数的值。
- $data_type:它是使用 PDO::PARAM_* 常量的参数的显式数据类型。
返回值:此函数在成功时返回 True 或在失败时返回 False。
程序:
prepare("SELECT * FROM users WHERE user = :username");
// Use bindValue function
$stmt->bindValue(':username', $username);
$username = 'g4g';
$stmt->execute();
?>
注意: SQL 语句将使用 ‘geeksforgeeks’ 作为用户名执行,因为字面量面值“geeksforgeeks”已在 bindValue()函数之前绑定到 :username 。对 $username 的进一步更改将不会反映在准备好的语句中。
bindParam() 和 bindValue() 的区别:
- 绑定参数():
- bindParam()函数将参数绑定到 SQL 语句中的命名或问号占位符。
- bindParam()函数用于传递变量而不是值。
- 绑定值():
- bindValue()函数将值绑定到 SQL 语句中的命名或问号。
- bindValue()函数用于传递 value 和 variable 。