0

我想同时将一群人添加到一个表中。有没有办法将批量插入作为数组进行,或者我是否需要像 for each... 那样使用循环mysql_query(Insert into people (name,address,email) values ('$name','$adr','$email'))。非常感谢!

4

2 回答 2

2

您可以使用这种格式:

"INSERT INTO table (id,value) VALUES (1,'temp1'),(2,'temp2'),(3,'temp3')"

因此,根据您的查询:

mysql_query("insert into people (name,address,email) 
values ('$name1','$adr1','$email1'),
values ('$name2','$adr2','$email2'),
values ('$name3','$adr3','$email3'),
values ('$name4','$adr4','$email4')
");
于 2012-05-19T08:44:28.637 回答
1
INSERT INTO people (name, address,email)
       VALUES ('$name','$adr','$email'),
              ('$name2','$adr2','$email2'),
              ('$name3','$adr3','$email3')

至于查询的实现,我将不再使用这些mysql_函数,因为文档明确指出,对于您可能使用的较新版本的 MySql,您应该使用mysqli

如果您使用 MySQL 4.1.3 或更高版本,强烈建议您改用 mysqli 扩展。

mysqli的手册

使用示例:

mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo $mysqli->connect_error;
}else{
    $mysqli->query("INSERT INTO people (name, address,email)
                    VALUES ('$name','$adr','$email'),
                           ('$name2','$adr2','$email2'),
                           ('$name3','$adr3','$email3')");
}
于 2012-05-19T08:45:19.153 回答