我经常看到使用bindParam或bindValue使用PDO的代码.是否只是execute因为任何原因而不屑一顾?
我理解bindParam实际上绑定到变量,你可以设置与两种bind方法绑定的参数类型,但是如果你只是插入字符串怎么办?
$query = "SELECT col1 FROM t1 WHERE col2 = :col2 AND col3 = :col3 AND col4 = :col4";
$pdo->bindValue(':col2', 'col2');
$pdo->bindValue(':col3', 'col3');
$pdo->bindValue(':col4', 'col4');
Run Code Online (Sandbox Code Playgroud)
我经常看到上面的内容,但我个人更喜欢:
$pdo->execute(array(':col2' => 'col2', ':col3' => 'col3', ':col4' => 'col4'));
Run Code Online (Sandbox Code Playgroud)
它不是那么冗长和视觉上让我更有意义的是让输入"一起"进入查询.但是,我几乎没有看到它被使用过.
当你不必利用前者的特殊行为时,是否有理由更喜欢bind传递参数的方法execute?