我经常看到使用PDO 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');
我经常看到上面的内容,但是我个人更喜欢:
$pdo->execute(array(':col2' => 'col2', ':col3' => 'col3', ':col4' => 'col4'));
它不是那么冗长,从视觉上来说,让输入“进入”查询对我来说更有意义。但是,我几乎看不到它的使用。
当您不必利用前者的特殊行为时,是否有理由更喜欢使用bind方法而不是传递参数execute?
心有法竹