Php PDO插入BindParam mysql

Php PDO插入BindParam mysql,php,mysql,pdo,Php,Mysql,Pdo,可以在BindParam()中使用数组吗;? 我的意思是: $stmt = $this->Db->prepare("INSERT INTO test (name,age) VALUES (:name,:age)"); $stmt->BindParam(array(":name"=>"michael", ":age"=>"21" )); $stmt->execute(); 或 您是

可以在BindParam()中使用数组吗;? 我的意思是:

$stmt = $this->Db->prepare("INSERT INTO test (name,age) VALUES (:name,:age)");
$stmt->BindParam(array(":name"=>"michael",
                       ":age"=>"21"
                 ));
$stmt->execute();
或 您是否必须将它们一一绑定,如:

$stmt->BindParam(":name","Michael");
$stmt->BindParam(":age","21");
$stmt->execute();

不,不能将数组与bindParam一起使用。在这些情况下,最好参考手册:

但是,您可以将阵列用于:


我相信是一个接一个,但是您可以通过删除bindParam并将数组放入execute来使用数组。参见文档中的示例。您尝试过吗?它扔掉了什么?是的,我知道,但我担心安全,当我这么做的时候?:)Funky fort,我可以很快尝试一下,等等:)@MichaelJørgensen将数组传递到execute与使用bindParam完全相同,所以你会很好地保护自己是的,我知道,还有其他人刚刚告诉我,安全性是一样的。我会将此标记为正确答案,再次感谢:)
$stmt = $this->Db->prepare("INSERT INTO test (name,age) VALUES (:name,:age)");
$stmt->execute(array(":name"=>"michael",
                     ":age"=>"21"
               ));