Hallo,
Das hat aber nie was eingetragen bis ich folgendes gemacht habe: Ich habe in meinem Input-Field "meinName" mit Anführungszeichen(!!) geschrieben.
Das ist relativ leicht zu erklären:
"meinName" ist ein String, und als solcher will mysql ihn auch verstanden wissen.
Eine (naive) Lösung wäre, zu schreiben:
$insert_user_daten = @mysql_query("INSERT INTO userdata (name) VALUES ('$name')");
Das wird auf den ersten Blick funktionieren.
Aber was passiert, wenn ein User
eingibt
Max 'Mustermann
?
Dann beendet Mysql den String vor Mustermann, und weiss dann mit "Musztermann" nichts mehr anzufangen.
Schlimmer noch, der Benutzer könnte eingeben
Max '; DROP TABLE userdata
Herzlichen Glückwunsch :)
(SQL-Injection nennt man dann das).
Aber es gibt Rettung ! :)
Hope tah helps,
Jörg