sql 问号的使用 php_PHP中bindParam和bindValue的区别

点击蓝字6e1311bf5a30f626b72943892e0e1d12.png关注我们!每天获取最新的编程小知识!

5d99b51ced4ad6ad0c4cc71adb1f6609.gif

源 / php中文网      源 / www.php.cn

PHP中bindParam和bindValue的区别

5d75f27e7b8a9d53b029ba709444e471.png

(查看原文请点击本文末尾左下角:

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。

程序:

// 设置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, $value, $data_type )

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

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

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

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

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

程序:

// 设置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.php.cn/course/list/29.html

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

18bbb9475e57858bbb9dabae43f2a8ce.gif

-END-

声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!

c8289747bb8aa359a7adfdc0e950905c.pngc6db755affb0095d9214d30b523a760a.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值