SQL Error : 1054 Unknown column

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Giga4000
Beiträge: 181
Registriert: Sa 26.Nov, 2005 09:19
Wohnort: Hamburg
Kontaktdaten:

SQL Error : 1054 Unknown column

Beitrag von Giga4000 »

Hallo,

Ich habe gestern mal versucht mich ein bisschen mit MySQL anzufreunden. Ich habe mir also eine PHP-Datei erstellt (die Datei habe ich angehängt) und dannach folgenden SQL-Befehl ausgeführt:

Code: Alles auswählen

CREATE TABLE phpbb_test (
  user_id int(11) NOT NULL,
  username varchar(25) NOT NULL,
  PRIMARY KEY (user_id)
) TYPE = MYISAM ;
Die Tabelle habe ich dann auch in der constants.php definiert, allerdings kommt beim aufrufen der Datei immer:

Code: Alles auswählen

Could not insert data into test table

DEBUG MODE

SQL Error : 1054 Unknown column 'Felix' in 'field list'

INSERT INTO phpbb_admin_logs(user_id, username) VALUES (2, Felix)

Line : 23
File : test.php
Ich habe schon nach diesem Fehler gesucht, aber nichts gefunden. Kann mit vll. jemand weiterhelfen?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Giga4000 am So 02.Jul, 2006 13:09, insgesamt 1-mal geändert.
Site: www.mx-forums.de - New!
phpBB MODs: Click Here
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du hast einen Grundsatzfehler gemacht.
Bei SQL-Anweisungen müssen Feldinhalte, die aus einem String bestehen, in Hochkommas gesetzt werden, sonst interpretiert die Datenbank diesen String als Feldnamen.
So hast Du bei der Anweisung

Code: Alles auswählen

$sql = "INSERT INTO " . TEST_TABLE . "(user_id, username)
		VALUES (" . $userdata['user_id'] . ", " . $userdata['username'] . ")";
um $userdata['username'] die Hochkommas vergessen.
Korrekt wäre es so:

Code: Alles auswählen

$sql = "INSERT INTO " . TEST_TABLE . "(user_id, username)
		VALUES (" . $userdata['user_id'] . ", '" . $userdata['username'] . "')";
Man beachte die einfachen Hochkommas, die den Bereich einschliessen!

Fehlen diese Hochkommas, wird der Inhalt der Variablen, in Deinem Beispiel "Felix" als Feldname interpretiert und das Feld gibts ja bekanntlich nicht in der User_Tabelle...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Giga4000
Beiträge: 181
Registriert: Sa 26.Nov, 2005 09:19
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Giga4000 »

Okay, danke ... funktioniert wie immer super :respect:
Site: www.mx-forums.de - New!
phpBB MODs: Click Here
Antworten