分享

php pdo中bindParam() 和 bindValue()方法的区别

 昵称10337467 2012-07-03

php pdo中bindParam() 和 bindValue()方法的区别

方法 bindParam() 和 bindValue() 非常相似。
唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。

所以使用bindParam是第二个参数只能用变量名,而不能用变量值,而bindValue至可以使用具体值。

01$stm = $pdo->prepare("select * from users where user = :user");
02$user = "jack";
03//正确
04$stm->bindParam(":user",$user);
05//错误
06//$stm->bindParam(":user","jack");
07//正确
08$stm->bindValue(":user",$user);
09//正确
10$stm->bindValue(":user","jack");

另外在存储过程中,bindParam可以绑定为input/output变量,如下面:

1$stm = $pdo->prepare("call func(:param1)");
2$param1 = "abcd";
3$stm->bindParam(":param1",$param1); //正确
4$stm->execute();

存储过程执行过后的结果可以直接反应到变量上。

对于那些内存中的大数据块参数,处于性能的考虑,应优先使用前者。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多