2012-03-29 5 views
0

Ich habe diese Nachricht geschrieben, um eine neue persönliche Nachricht an einen Benutzer zu senden, aber ich versuche herauszufinden, wie ich dies ein wenig wiederholen kann, weil mir gesagt wurde, dass ich nicht sein sollte eine Abfrage in einer Schleife ausführen, da sich diese in Hunderten von Abfragen ansammeln und stattdessen jeweils eine Abfrage ausführen kann. Ich verwende CodeIgniters Datenbank-Klasse und genauer gesagt die Active Record-Klasse davon.Mass Einfügen von Abfragen in One

EDIT: Irgendwelche zusätzlichen Ideen, weil ich bereits ein Array namens $ Empfänger.

+0

bitte posten, was Ihre $ Empfänger-Array enthält –

Antwort

2

Sie möchten dies nicht tun. Bitte versuchen Sie es mit Batch-Einfügung .Dieses wird Abfrage auf einmal einfügen, so db Interaktion nur ein Mal gemacht

Ab codeigniter docs

$data = array(
    array(
     'title' => 'My title' , 
     'name' => 'My Name' , 
     'date' => 'My date' 
    ), 
    array(
     'title' => 'Another title' , 
     'name' => 'Another Name' , 
     'date' => 'Another date' 
    ) 
); 

$this->db->insert_batch('mytable', $data); 

// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), ('Another title', 'Another name', 'Another date') 

dies Siehe Link unten http://codeigniter.com/user_guide/database/active_record.html#insert

+0

Mit meinem Code würde ich nur den ersten Teil des Arrays nicht brauchen würde ich nicht? –

+0

Ja, Sie können einfach Array wie in doc erstellen und weitergehen –

+0

Wie würde das mit meiner Foreach funktionieren? –