Vinzenz Mai: Kann den Fehler nicht finden...

Beitrag lesen

Hallo Thomas,

was gibt denn MySQL für einen Fehler zurück?
Keinen, es wird nur kein neuer Eintrag in der DB angelegt ;-)

P.S.: Du weisst, was SQL-Injection ist?
Nein, weiß ich nicht

Dann empfehle ich Dir den Handbuchabschnitt SQL-Injection, wobei dieser Abschnitt nicht gut genug ist :-(

Besser ist es, die Eingabedaten mit mysql_real_escape_string() zu behandeln, nachdem gegebenenfalls in Abhängigkeit der Einstellung von magic_quotes_gpc vorher stripslashes() auf die Daten angewandt werden muss (wie es auch bei mysql_real_escape_string() steht.

Noch besser wäre es mit prepared Statements zu arbeiten, wie sie die neuere MySQL-Unterstützung mysqli zur Verfügung stellt: mysqli_prepare() und Verlinkungen im genannten Abschnitt.

Nächster Schritt wäre die Nutzung eines Datenbankabstraktionslayers ...

Ach ja, zurück zu Deinem Ausgangsproblem:
Grundsätzlich ist es eine gute Idee, die SQL-Anweisung zuerst in einer Zeichenkettenvariablen zusammenzubauen. Deren Inhalt kann man sich wunderbar zu Debugzwecken ausgeben oder loggen lassen. Sowas kann ungemein helfen - die Ausgabe von mysql_error() selbstverständlich auch.

Freundliche Grüße

Vinzenz