[3.2] in php insert into

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

[3.2] in php insert into

Beitrag von pierre63 »

Hallo

Ich wollte in eine php ein insert Befehl einfügen das
nach eine Aufgabe er in der Datenbank in die Tabelle mchat folgendes einfügt so das es in mchat erscheint.

Code: Alles auswählen

    'message_id'    => '1',
    'user_id'        => 2,
    'mesage'     => 'test ',
);

$sql = 'INSERT INTO ' . MCHAT_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_arr);
$db->sql_query($sql);   

Aber es funktioniert nicht.
Wo liegt mein Denkfehler?
Verschoben von Support-Forum nach Coding & Technik am 09.04.2018 15:57 durch Kirk

Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Re: [3.2] in php insert into

Beitrag von tas2580 »

Sollte eigentlich so funktionieren. Ob das aber dann auch in mchat ausgegeben wird hängt davon ab wie mchat die DB ausliest. Ich könnte mir vorstellen dass "message_id" nicht immer 1 sein darf. Vermutlich musst du die auch gar nicht angeben weil die DB den Wert selbständig mit jedem neuen Eintrag um 1 erhöht.

Gruß Tobi
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17392
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: [3.2] in php insert into

Beitrag von Dr.Death »

'[color=#FF0000]mesage[/color]' => 'test ',

sollte eher:

'[color=#008000]message[/color]' => 'test ',

heissen.....

message_id ist nicht notwendig anzugeben, da es ein AUTO_INCREMENT beinhaltet.
message_time muss noch angegeben werden, ansonsten ist der Beitrag eher am Ursprung des Chatverlaufs nur sichtbar ;-)
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

Re: [3.2] in php insert into

Beitrag von pierre63 »

Hi

Das mit message_id habe ich schon bemerkt , es ist ja ne AI Tabelle :grin:

Wenn ich jetzt folgendes eingeben

Code: Alles auswählen

  'user_id'        => 2,
    'message'     => 'test ',
);

$sql = 'INSERT INTO ' . MCHAT_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_arr);
$db->sql_query($sql);   

bekomme ich folgende meldung:

Code: Alles auswählen

parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) in /www/htdocs/
Benutzeravatar
canonknipser
Ehemaliges Teammitglied
Beiträge: 2053
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: [3.2] in php insert into

Beitrag von canonknipser »

Da fehlt der Anfang von deinem Code, um das beurteilen zu können. Wenn das dein kompletter Code ist, fehlt vorneweg mindestens noch

Code: Alles auswählen

$sql_arr = (
um das überhaupt zu einer gültigen Anweisung zu machen. Und natürlich musst du auch den phpBB-Prolog mit Zuordnung und Bestückung der benötigten Funktionen, Variablen etc.einbauen. Ansonsten bekommt du bei der darauf folgenden Anweisung $sql = ... einen auf die Finger, weil weder die Konstante MCHAT noch die Objekt-Instanz $db mit ihrer Funktion >sql_build_array definiert sind
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

Re: [3.2] in php insert into

Beitrag von pierre63 »

hallo

Ich habe nun folgende Code genommen und es funktioniert.

Code: Alles auswählen

$this->db->sql_query("INSERT INTO phpbb_mchat (user_id,message) VALUES ('2','test')");
Antworten

Zurück zu „Coding & Technik“