Mehrere Abfragen im Codeigniter ausführen, die nicht nacheinander ausgeführt werden können

8

Ich habe eine "Event" -Tabelle. Der Einfachheit halber können Sie sich vorstellen, dass es wie eine hierarchische Kategorie sein sollte. Es verwendet das geschachtelte Mengenmodell (Danke an Mark Hillyer für seinen Beitrag in Ссылка )

Mein Code:

%Vor%

Und danach werde ich das zuletzt eingefügte Objekt mit $this->db->update('event', $data)

aktualisieren

$data ist ein Array, das der Benutzer ausgefüllt hat.

Problem 1:

Ich konnte $ query nicht mit $ this- & gt; db- & gt; query ($ query); ;

ausführen

Lösung 1, die nicht funktioniert hat:

Ich. Verwenden Sie die mysqli db-Engine.

II. mysqli_multi_query($this->db->conn_id, $query); Während ich dachte, dass es funktioniert, gibt es den folgenden Fehler:

Commands out of sync; you can’t run this command now.

Problem 2:

$this->db->insert_id() funktioniert nicht (gibt 0 zurück)

Problem 3:

$this->db->update('event', $data); Fehler: Commands out of sync; you can't run this command now

Wie kann ich diesen Code korrigieren? Ich wäre sogar glücklich, eine Lösung für das erste Problem zu finden.

    
Mohammad Naji 25.01.2012, 08:56
quelle

4 Antworten

12

Vielleicht Transaktionen verwenden?

%Vor%

Ссылка

    
webmaster_sean 28.06.2013, 06:36
quelle
2

Warum schreiben Sie nicht einfach eine gespeicherte Prozedur, die alle oben aufgelisteten SQL-Anweisungen enthält, indem Sie die Variablen in Ihren Abfragen als Parameter verwenden. Dann rufen Sie einfach die gespeicherte Prozedur als eine einzelne SQL-Anweisung auf;

%Vor%     
Skittles 27.01.2012 01:12
quelle
2

Benutzerdefinierte Variablen in MySQL sind verbindungsspezifisch und werden beibehalten, bis Sie die Verbindung schließen.

%Vor%     
sanmai 27.01.2012 01:32
quelle
0
%Vor%     
Shailendra Singh Tiwari 06.02.2018 10:07
quelle