Seite 2 von 2

Verfasst: 29.12.2008 22:40
von Dave
Die andere alternative wäre es was im phpBB zu ändern. Da schlage ich vor doch lieber deine Datei anzupassen :D

Verfasst: 30.12.2008 11:49
von lachkopf
Na dann hab ich für heute ne Beschäftigung, danke für die Hilfe ^^

Re: Fehler beim Zugriff auf Datenbank

Verfasst: 31.12.2008 17:29
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?

Re: Fehler beim Zugriff auf Datenbank

Verfasst: 31.12.2008 17:40
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`

Re: Fehler beim Zugriff auf Datenbank

Verfasst: 31.12.2008 17:49
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 ;)

Re: Fehler beim Zugriff auf Datenbank

Verfasst: 31.12.2008 18:02
von Purzel81
schreib mal age (oder irgendwas anderes) und lass alter dafür weg :wink: