thomas: Fehler mit MYSQL (PHP)

Warum bekomme ich bei folgendem Script diese Fehlermeldung:

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

Script:

$benutzer=$_POST["benutzer"];
$passwort=$_POST["passwort"];
$email=$_POST["email"];

mysql_connect("localhost", "thomas", "bla");
mysql_select_db("user");
$eintrag = "INSERT INTO werte (benutzer, passwort, email) VALUES ("$benutzer", "$passwort", "$email")";
mysql_query($eintrag);

Danke schonmal für erleuchtende Antworten!

  1. Sorry, ich muss mal das ganze Script posten:

    <?php

    $benutzer=$_POST["benutzer"];
    $passwort=$_POST["passwort"];
    $email=$_POST["email"];

    mysql_connect("localhost", "thomas", "bla");
    mysql_select_db("user");
    $eintrag = "INSERT INTO werte (benutzer, passwort, email) VALUES ("$benutzer", "$passwort", "$email")";
    mysql_query($eintrag);

    ?>

    1. ("$benutzer", "$passwort", "$email")";
      ^^^^^^ hier ist der String das erste mal zuende
      benutze '

      '$benutzer' oder baue den String besser zusammen

      ciao
      romy

      --
      DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
      ->Alles ist gut wenn es aus Schokolade ist
    2. Guude!

      Ich schätze, dass die Zeile 9 die mit $eintrag = ... ist. Denn hier verwendest Du innerhalb von doppelten Anführungszeichen nochmal ". Schreibe einfach ...VALUES('$benutzer', '$passwort', '$email')";, dann funktioniert's auch.

      LG
      Lemmy

      Neue Homepage, neues Design: http://www.olison.com

      --
      Realität ist die Illusion, die durch ein zu geringes Maß an Alkohol entsteht...
  2. 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

  3. Warum bekomme ich bei folgendem Script diese Fehlermeldung:

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

    Script:

    $benutzer=$_POST["benutzer"];
    $passwort=$_POST["passwort"];
    $email=$_POST["email"];

    mysql_connect("localhost", "thomas", "bla");
    mysql_select_db("user");
    $eintrag = "INSERT INTO werte (benutzer, passwort, email) VALUES ("$benutzer", "$passwort", "$email")";
    mysql_query($eintrag);

    Danke schonmal für erleuchtende Antworten

    $Connection = mysql_connect ("127.0.0.1","Benutzername","Passwort");
    $DB         = mysql_select_db ("user");
    $Result     = mysql_query     ("INSERT INTO werte (benutzer,passwort,email) VALUES ("".$_POST[benutzer]."", "".$_POST[passwort]."", "".$_POST[email]."");");
    if (mysql_affected_rows == 0) return FALSE;
    else return TRUE;