簡體   English   中英

如何在MySQL表中插入多行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM