PHP code funktioniert nicht?

... komplette Frage anzeigen

2 Antworten

Wenn du das "Eintrags-Query" in diesem Format erstellst, dann wäre das "SET" zuviel, also wenn du es mit SET machen willst, würde ich das so machen:

$eintrag = "INSERT INTO `register` SET
  `benutzername` = '". $user ."',
  `e-mail` = '". $email ."',
  `passwort` = '". $p21 ."';

Ich bevorzuge btw auch die Variante mit SET, da kommt man nicht so leicht mit der Reihenfolge durcheinander ;) 

Die Backticks um die Tabellen-/Spaltennamen sind nicht zwingend notwendig, aber nicht verkehrt, vor allem falls man dort mal versehentlich ein Wort benutzt hat, das in SQL sonst eine andere Bedeutung hätte (und z.B. das "e-mail" könnte u.U. als "Spalte e minus Spalte mail" gewertet werden, bin ich mir grad nicht ganz sicher, ich würde allgemein keine Bindestriche oder andere Sonderzeichen in Tabellen- oder Spaltennamen verwenden, nur Kleinbuchstaben und ggf Ziffern, dann entstehen solche Probleme gar nicht erst).

Die Variablen zu escapen ist zwar ebenfalls nicht zwingend nötig, aber es erspart PHP ein kleines bisschen Arbeit, bei kleineren Projekten fällt der Unterschied vielleicht nicht auf, aber je nach Größe geht es dann doch irgendwann auf die Performance (und "sauberer" ist es sowieso^^).

Antwort bewerten Vielen Dank für Deine Bewertung

Ohne den Code getestet zu haben, vorab mal ein Tipp: Setze die Felder im MySQL-Query in Backticks ( ` ): SELECT `whatever` FROM `table` WHERE `parameter` = 'value' (oder $value). Das erspart schon mal viele Probleme im MySQL-Bereich.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?