[英]How to insert multiple rows in to mySQL table
我有一个名为$changedcompanies
的数组,我想将内容插入到mySQL表中。
目前,我在php中使用for循环,这肯定是一种无效的处理方式:
for ($x=0;$x<count($changedcompanies);$x++){
try {
$sql = "INSERT INTO ecampaign_historyamend SET historyid = '".$lastid."',
companyid = '".$changedcompanies[$x]['id']."',
newcontactid = '".$changedcompanies[$x]['contactid']."'";
$s = $pdo->prepare($sql);
$s->execute();
}
catch (PDOException $e) {
$error = 'Error inserting history amend: ' . $e->getMessage();
showerror($error);
exit();
}
}
有没有一种设计mySQL查询的方法,可以一次性插入整个数组?
将它们全部连接,然后运行它们。 不要忘记命令之间的分号:
$sql="";
for ($x=0;$x<count($changedcompanies);$x++){
$sql.= "INSERT INTO ecampaign_historyamend SET historyid = '".$lastid."',
companyid = '".$changedcompanies[$x]['id']."',
newcontactid = '".$changedcompanies[$x]['contactid']."';";
}
try {
$s = $pdo->prepare($sql);
$s->execute();
}
catch (PDOException $e) {
$error = 'Error inserting history amend: ' . $e->getMessage();
showerror($error);
exit();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.