Sönke Tesch: Fehler mit MYSQL

Beitrag lesen

Parse error: parse error, unexpected T_VARIABLE in c:\programme\apache group\apache\htdocs\db\register.php on line 9

$eintrag="INSERT bla VALUES ("$benutzer", "$passwort", "$email")";

------------1-------------------2---------3--4---------5--6------7-8

Bei den Zahlen beginnt (ungerade) bzw. endet (gerade) jeweils eine Zeichenkette. Du hast also geschrieben:

$eintrag    =   "INSERT.."   $benutzer    ", "      $passwort
  Variable gleich Zeichenkette Variable  Zeichenkette Variable  usw.

Und nun überlege mal: Was ist das für eine Gleichung? Fehlt da nicht noch irgendwie ein Operator, der besagt, was Du mit den ganzen Zeichenketten und Variablen machen möchtest? Du schreibst ja auch nicht

$x = 1 $a 3 $b

sondern

$x = 1+$a+3+$b

Theoretisch korrekt wäre also:

$eintrag    =   "INSERT.."      .     $benutzer     .   ", " usw.
  Variable gleich Zeichenkette Operator Variable  Operator Zeichenkette
                                  zur
                              Verknüpfung

Praktisch korrekt ist:

$eintrag = "INSERT.." . mysql_escape_string($benutzer) . ", " usw.

mysql_escape_string() schützt Dich vor mehr oder weniger böswilligen Stolperfallen in den Variablen, die Dir den SQL-Befehl zerlegen. Näheres dazu und zu Zeichenkettenoperatoren findest Du in der PHP-Anleitung.

Gruß,
  soenk.e