Kerede PHP MySql Ekle n satır?

3 Cevap php

Nasıl yapabilirim optimize bu kod?

$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')");
}

Dizi sadece örnek ve ben bilmek istiyorum anahtar nokta nasıl n kez sorgulamadan n ürün ekleyebilirsiniz nedir?

Teşekkürler.

3 Cevap

Eğer mulitvalue eklemek ifadeleri kullanabilirsiniz

 insert into mytable(item) values('item1'),('item2') etc

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

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

Kullanarak Form

$t = array("value 1", "value 2", "value 3");

$query = "('";
$query .= implode( "'), ('", $t);
$query .= "')";

echo $query;

Çıkışlar ('value 1'), ('value 2'), ('value 3')

Şimdi yapmanız gereken tüm bu çıkışı içine orijinal sorgu sopa olduğunu.

user187291's answer doğrudur, ancak ben sadece bir büyük sorgu dizesi inşa etmem.

Değerlerin 10 lot söyledikten sonra, ben bir ekleme kaçardım. Daha sonra MySQL olası büyük bir sorgu göndererek bu şekilde başarısız daha az görünüyor

$query = '';

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

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



}