为了账号安全,请及时绑定邮箱和手机立即绑定

使用bindParam()方法和使用excute(array())有什么区别?

使用bindParam()方法和使用excute(array())有什么区别?

使用bindParam()

$stmt->bindParam(":usernma",$username);
$stmt->bindParam(":password",$password);

使用execture()

$stmt->execute(array(":username"=>$username,":password"=>$password));

前面的占位符都是一样的。那么这两者有什么区别?

正在回答

2 回答

execute() 传参或 bindValue() 是绑定常量到参数;bindParam() 是绑定变量到参数。

相比之下,绑定变量更加灵活。

0 回复 有任何疑惑可以回复我~

bindParam()使得代码更加健壮一些,试想一下如果要是执行一个很多的参数的array,举个例子,项目初始的时候,只有5个参数,但是扩展业务的时候,需要扩展更多的参数,那你代码重构的时候需要在array()里面添加一堆的参数,这样会使得代码的可读性变的很差,无论是用于今后的重构,还是扩展业务,都是不利的。而使用bindParam()之后,代码直观,可用性也很高,不用的那一行,完全可以在前面 // ,代码调试也很好。

以上是以软件工程角度出发的个人想法

5 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

使用bindParam()方法和使用excute(array())有什么区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信