2009-11-27 117 views
0

我该如何优化这段代码?PHP MySql一次插入n行?

$items[0] = "Item-0"; 
$items[1] = "Item-1"; 
$items[2] = "Item-2"; 
$items[3] = "Item-3"; 
... 
$items[n] = "Item-n"; 

foreach($items as $item) { 
    mysql_query("INSERT INTO mytable (item) VALUES ('$item')"); 
} 

的数组只是样品和关键点我想知道的是我怎么可以插入ň项目,而不查询ň倍?

谢谢。

回答

1
INSERT INTO `mytable` (`item`) VALUES ('value 1'), ('value 2'), ('value 3') 

形式,它('value 1'), ('value 2'), ('value 3')

现在,您只需将原始查询粘贴到该输出中即可。

1

user187291's answer是正确的,但我不会建立一个大规模的查询字符串。

在说了10个很多值之后,我会运行一个插入。这似乎不太可能失败,然后发送一个可能的巨大查询到MySQL

$query = ''; 

foreach($items as $key => $item) { 

    if ($key % 10) { 
     // Reset and insert 
    } 



}