2009-11-27 103 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 
    } 



}