Hi,
ich versuch eine Clanseite mit log in und so zu erstellen, doch ich krieg es nicht hin mit der Registrierung. Durch eine if Abfrage weiß ich das was schief läuft, aber keine weiteren Infos durch mysql_errno(); oder mysql_error();. Ich post einfach ma beide Dateien:
Kannst du überhaupt auf die Datenbank zugreifen? Schon mal anders getestet?
Vielleicht existiert die Tabelle nicht, oder die Rechte sind falsch gesetzt.
Und schreib mal ein "echo" vor die Funktion mysql_errno()...
29.03.2009, 03:20
bartman
Um sicher zu gehen, dass keine Fehler unterdrückt werden, schreibe mal
PHP-Code:
error_reporting(E_ALL);
in die erste Zeile deiner Datei.
Und schau dir bitte etwas zu SQL Injections an, dein Code ist voll davon: ] (unten gibt es auch PHP Beispiele)
29.03.2009, 12:51
Threadersteller
godsend101
Danke für den Tipp mit den Injections. Ich werd da später drauf achten wenn es endlich funktioniert.
Laut mysql_errno(); hab ich einen Fehler 1064. Benutze ich irgend ein reserviertes Wort??? Und ja die Datenbank und die Tabell existieren. Herstellung der Verbindung klappt auch.
29.03.2009, 12:56
pixelflat
Gib doch den $auftrag mal aus... und sagt mysql_error() mehr dazu (vielleicht die Stelle des Syntax-Fehlers)?
29.03.2009, 13:43
Threadersteller
godsend101
Also das ist was er ausgibt:
FEHLER1064You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-data (user, name, alter, email, ca-account, wr-account, passwort) ' at line 1
INSERT INTO user-data (user, name, alter, email, ca-account, wr-account, passwort) VALUES ('testuser', 'testname', '99', 'testemail', '', '', 'test')
Lieg ich falsch, wenn ich sage das 2 variablen nicht richtig übertragen werden???
Die Tabelle heißt user-data. Is das vllt das Problem.
Hier noch mal ein Screen von phpmyadmin:
Geändert von godsend101 (29.03.2009 um 13:52 Uhr).
29.03.2009, 13:53
pixelflat
Es liegt wohl am Bindestrich im Tabellen-Namen. Entweder den Bindestrich weg lassen oder, wenns nicht anders geht, vielleicht mal mit ´user-data´ versuchen.
29.03.2009, 16:01
Threadersteller
godsend101
Ok hab jetzt alles was irgendeien Bindestrich hat geändert:
FEHLER1064You 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, email, caAccount, wrAccount, passwort) VALUES ('' at line 1
Ok hab das Problem. Alter scheint ein Schlüsselwort zu sein. ]
Geändert von godsend101 (29.03.2009 um 16:01 Uhr).
Grund: Antwort auf eigenen Beitrag innerhalb von 24 Stunden!
29.03.2009, 16:28
LordOfThePings
Und das Problem hättest du nicht, wenn du deine Feldnamen in ` ` setzen würdest.... genauso den Tabellennamen. Dann weiss MySQL auch, dass das als Name gedacht ist und nicht als Schlüsselwort.
ALTER brauchst du btw. zum Ändern der Tabellenstruktur, wenn ich das richtig in Erinnerung habe.
29.03.2009, 19:08
Threadersteller
godsend101
Ok danke für den Hinweis. Und danke an alle dir mir geholfen haben.