PHP中bindParam和bindValue的区别
发布:smiling 来源: PHP粉丝网 添加日期:2020-01-07 16:51:11 浏览: 评论:0
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, $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);
- //phpfensi.com
- $username = 'g4g';
- $stmt->execute();
- ?>
注意: SQL语句将使用'g4g'作为用户名执行,因为文字值“phpforphp”已绑定到:bindValue()函数之前的用户名。$username的进一步更改不会反映在准备好的声明中。
bindParam()和bindValue()之间的区别:
bindParam()
bindParam()函数将参数绑定到SQL语句中的命名或问号占位符。
bindParam()函数用于传递变量而不是值。
bindValue()
bindValue()函数将值绑定到SQL语句中的命名或问号。
bindValue()函数用于传递值和变量。
Tags: bindParam bindValue
相关文章
- ·PHP PDOStatement:bindParam插入数据错误问题分析(2020-07-02)
- ·bindParam和bindValue的区别以及在Yii2中的使用详解(2021-09-04)
- ·PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别(2021-04-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)