首页 > 编程 > PHP > 正文

PHP中bindParam和bindValue的区别

2020-03-22 19:59:16
字体:
来源:转载
供稿:网友

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 // 设置PDO连接 $db = new PDO( mysql:host=localhost;dbname=phps , root , // 获得用户名$username = phpforphp $stmt = $db- prepare( SELECT * FROM users WHERE user = :username // 使用bindParam函数$stmt- bindParam( :username , $username);  $username = g4g  $stmt- execute(); ? 

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

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

语法:

bool PDOStatement::bindValue( $parameter, $html' target='_blank'>value, $data_type )

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

$parameter:它是一个参数标识符,用于使用名称占位符准备语句。它是表单的参数名称:name。

$value:此参数用于保存绑定参数的值。

$data_type:它是使用PDO :: PARAM_ *常量的参数的显式数据类型。

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

程序:

 ?php // 设置PDO连接$db = new PDO( mysql:host=localhost;dbname=phps , root , // 获得用户名$username = phpforphp $stmt = $db- prepare( SELECT * FROM users WHERE user = :username // 使用bindValue函数$stmt- bindValue( :username , $username); $username = g4g $stmt- execute(); ? 

注意: SQL语句将使用 g4g 作为用户名执行,因为文字值“phpforphp”已绑定到:bindValue()函数之前的用户名。$username的进一步更改不会反映在准备好的声明中。

bindParam()和bindValue()之间的区别:

bindParam()

bindParam()函数将参数绑定到SQL语句中的命名或问号占位符。

bindParam()函数用于传递变量而不是值。

bindValue()

bindValue()函数将值绑定到SQL语句中的命名或问号。

bindValue()函数用于传递值和变量。

推荐:《PHP教程》http://www.VeVb.com/course/list/29.html

本篇文章就是关于PHP中bindParam和bindValue的区别介绍,希望对需要的朋友有所帮助!

以上就是PHP中bindParam和bindValue的区别的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表