关于php:bindParam和execute(array)有什么区别?

What the difference between bindParam and execute(array)?

1
2
3
4
5
$stmt = $this->_db->prepare("SELECT userid FROM users WHERE login = ? AND md5pass = ?");
#$stmt->bindParam(1, $login, PDO::PARAM_INT);
#$stmt->bindParam(2, $pass, PDO::PARAM_STR);
$stmt->execute(array($login,$pass));
$res = $stmt->fetch(PDO::FETCH_NUM);

哪种方法更好地将变量传输到预先声明的bindParam或execute(array)? 两者都有效,但有什么区别? 仅检查PDO :: PARAM? 对于SELECT,我认为数组就足够了;对于INSERT,我可以使用bindParam。 我对吗? 谢谢大家。 刚刚学习=)


使用bindParam,您可以添加数据类型,并且对于bind参数,通过引用来绑定变量也很重要。