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