Fehler beim Zugriff auf Datenbank

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.
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Die andere alternative wäre es was im phpBB zu ändern. Da schlage ich vor doch lieber deine Datei anzupassen :D
lachkopf
Mitglied
Beiträge: 23
Registriert: 27.05.2008 16:31

Beitrag von lachkopf »

Na dann hab ich für heute ne Beschäftigung, danke für die Hilfe ^^
lachkopf
Mitglied
Beiträge: 23
Registriert: 27.05.2008 16:31

Re: Fehler beim Zugriff auf Datenbank

Beitrag von lachkopf »

Hab mich zu früh gefreut, mir fällt grade auf, dass es bei INSERT INTO und bei UPDATE immer zu dem selben Fehler kommt.
Allgemeiner Fehler
SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter, geburtstag, geschlecht, vorname, stadt, job, wie, ip, obersteregel, frage' at line 1 [1064]

SQL
INSERT INTO phpbb_warteliste_anmeldedaten (nickname, datum) VALUES ('dfhfhdf', '31.12.2008')

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: warteliste.php
LINE: 1166
CALL: dbal_mysqli->sql_query()
Bei UPDATE ist es fast der selbe Fehler.
Das wunderliche ist aber, dass ich mich nun bei den codes extrem an die "Norm" gehalten habe.

Der genannte Ausschnitt aus warteliste.php:

$sql_ary = array(
'nickname' => $nickname,
'datum' => $datum
);

$db->sql_query('INSERT INTO ' . WARTELISTE_ANMELDEDATEN_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); //Zeile 1166
Ich hoffe mal jemand von euch kann mir dabei noch helfen?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Fehler beim Zugriff auf Datenbank

Beitrag von Miriam »

Das scheint aber nicht die problemtische Query zu sein. Es geht irgendwie um:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter, geburtstag, geschlecht, vorname, stadt, job, wie, ip, obersteregel, frage' at line 1 [1064]
Und hier denke ich mal insbesondere um ALTER, denn das ist ein reservierter Begriff für die DB. Versuche, dieses alter in Backticks zu setzen. Also

Code: Alles auswählen

`alter`
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
lachkopf
Mitglied
Beiträge: 23
Registriert: 27.05.2008 16:31

Re: Fehler beim Zugriff auf Datenbank

Beitrag von lachkopf »

Das liegt daran, dass ich den Code ein wenig gekürzt habe, dachte es wäre zu lang. Aber auch nur die gekürzte Form verursacht diese Fehler.

Hier mal der komplette Fehler- und Codeausschnitt
INSERT INTO phpbb_warteliste_anmeldedaten (nickname, email1, email2, status, alter, geburtstag, geschlecht, vorname, stadt, job, wie, ip, obersteregel, frage01, frage02, frage03, frage04, frage05, frage06, frage07, frage08, frage09, frage10, antwort01, antwort02, antwort03, antwort04, antwort05, antwort06, antwort07, antwort08, antwort09, antwort10, fehler, restpunkte, datum, gepruft, geloscht) VALUES ('sdfgdfg', 'gdfgd', '???', '-', 'sdgdfg', 'dfgdf', 'maennlich', 'sdgdf', 'gsdfgdf', 'gsdgdf', 'gsdfgdf', '-', 'gsdfg', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '1', '1', '1', '3', '1', '1', '2', '2', '2', '1', 7, 7, '31.12.2008', 'nein', 'nein')

$sql_ary = array(
'nickname' => $nickname,
'email1' => $email1,
'email2' => $email2,
'status' => $status,
'alter' => $alter,
'geburtstag' => $geburtstag,
'geschlecht' => $geschlecht,
'vorname' => $vorname,
'stadt' => $stadt,
'job' => $job,
'wie' => $wie,
'ip' => $ip,
'obersteregel' => $obersteregel,
'frage01' => $frage01,
'frage02' => $frage02,
'frage03' => $frage03,
'frage04' => $frage04,
'frage05' => $frage05,
'frage06' => $frage06,
'frage07' => $frage07,
'frage08' => $frage08,
'frage09' => $frage09,
'frage10' => $frage10,
'antwort01' => $antwort01,
'antwort02' => $antwort02,
'antwort03' => $antwort03,
'antwort04' => $antwort04,
'antwort05' => $antwort05,
'antwort06' => $antwort06,
'antwort07' => $antwort07,
'antwort08' => $antwort08,
'antwort09' => $antwort09,
'antwort10' => $antwort10,
'fehler' => $fehlercounter,
'restpunkte' => $fehlercounter,
'datum' => $datum,
'gepruft' => nein,
'geloscht' => nein
);

$db->sql_query('INSERT INTO ' . WARTELISTE_ANMELDEDATEN_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
"Alter" ist bereits in Backticks, aber auch, wenn ichs komplett rauslösche, kommt der Fehler, wie bereits genannt.



Edit:
Lag scheinbar doch an alter, habs jetzt in age geändert und es funktioniert.
Dass nach dem entfernen dann trotzdem ein Fehler auftrat lag wohl an der Einstellung "NOT NULL" in der Datenbank unter diesem Feld.
Hat sich damit erledigt, danke Purzel81 und Miriam ;)
Zuletzt geändert von lachkopf am 31.12.2008 18:05, insgesamt 2-mal geändert.
Purzel81
Mitglied
Beiträge: 132
Registriert: 08.01.2006 17:54
Wohnort: Hannover
Kontaktdaten:

Re: Fehler beim Zugriff auf Datenbank

Beitrag von Purzel81 »

schreib mal age (oder irgendwas anderes) und lass alter dafür weg :wink:
Antworten

Zurück zu „Coding & Technik“