使用一个查询 MySQL 插入多行

2022-08-30 10:47:45

我想写脚本,用函数来多次插入查询。让我更好地解释这一点。

我有一个html格式的输入。我有MySQL查询插入到表中。所以我希望我的函数插入这个查询“数量”时间。quantityregistered user

 mysql_query("INSERT INTO `pxlot` (realname,email,address,phone,status,regtime,ip) 
 VALUES ('$realname','$email','$address','$phone','0','$dateTime','$ip')")
 or die (mysql_error()); // Inserts the user.

例如,要插入3次。有什么建议吗?


答案 1
 INSERT INTO table (a,b) VALUES (1,2), (2,3), (3,4);

http://dev.mysql.com/doc/refman/5.5/en/insert.html


答案 2

在大多数情况下,在MySQL中插入带有一个Insert语句的多个记录比在PHP中插入带有for/foreach循环的记录要快得多。

让我们假设$column 1和$column 2是html表单发布的具有相同大小的数组。

您可以像这样创建查询:

<?php
    $query = 'INSERT INTO TABLE (`column1`, `column2`) VALUES ';
    $query_parts = array();
    for($x=0; $x<count($column1); $x++){
        $query_parts[] = "('" . $column1[$x] . "', '" . $column2[$x] . "')";
    }
    echo $query .= implode(',', $query_parts);
?>

如果为两条记录发布数据,则查询将变为:

插入到表 (, ) 值 (“数据”、“数据”)、(“数据”、“数据”)column1column2


推荐