Lukas Froschauer: PHP-MYSQL Fehler

Hallo...

Ich bekomme folgenden Fehler:

unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

bei diesem Code:

$connect = @mysql_pconnect($dbserver,$dbuser,$dbpsw)
                                or die ("$serverfehler");
                   @mysql_select_db($db,$connect)
                                or die ("$serverfehler");

$sql_query = "INSERT INTO Kurs VALUES('$_POST['kursname']','$_POST['ort']','01.05.2006','$_POST['stundenzahl']','$_POST['maxschueler']','$_POST['minschueler']','$_POST['beschreibung']','$_POST['kosten']')";
 $result = mysql_query($sql_query,$connect);

echo $_POST['kursname'];

$sql_query = "Select * from Kurs";
 $result = mysql_query($sql_query,$connect);

while(($row = mysql_fetch_row($result))){
   echo "row[1]";
 }

Wo ist das Problem?

MfG, Lukas

  1. hi,

    Wo ist das Problem?

    Das Hauptproblem mit deinem Posting ist, dass du uns die Zeile verschweigst, in der dieser Fehler gemeldet wird.

    Nutze einen Editor mit Syntax-Highlighting, dann solltest du besser erkennen können, wo etwas steht, was da nicht hingehört.

    Darüber hinaus enthält dein Code noch weitere Probleme:

    $sql_query = "INSERT INTO Kurs VALUES('$_POST['kursname']','$_POST['ort']' ...

    Informiere dich dringend über das Thema SQL Injections, und wie du sie verhindern kannst.

    echo "row[1]";

    Hier meinst du vermutlich $row[1].
    Und warum zum Geier setzt du um eine einfache Variable Anführungszeichen?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hello,

    *aaach Mann*

    Ich bekomme folgenden Fehler:

    unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

    Welche Zeilennummer?

    $connect = @mysql_pconnect($dbserver,$dbuser,$dbpsw)

    or die (mysql_error());

    @mysql_select_db($db,$connect)
                                    or die (mysql_error());

    Zum Testen die Fehleroption (@) bitte weglassen

    $sql_query = "INSERT INTO Kurs VALUES('$_POST['kursname']','$_POST['ort']','01.05.2006','$_POST['stundenzahl']','$_POST['maxschueler']','$_POST['minschueler']','$_POST['beschreibung']','$_POST['kosten']')";

    $sql_query = "INSERT INTO Kurs VALUES('{$_POST['kursname']}',".
                                         "'{$_POST['ort']}','01.05.2006',".
                                         "'{$_POST['stundenzahl']}',".
                                         "'{$_POST['maxschueler']}',".
                                         "'{$_POST['minschueler']}',".
                                         "'{$_POST['beschreibung']}',".
                                         "'{$_POST['kosten']}')";

    So könnte es gehen, ist aber nicht sicher.
    An die DB übergebene Werte sollten vorher passend maskiert werden mit
    http://de.php.net/manual/de/function.mysql-real-escape-string.php

    dazu müssen ggf. die Maskierungen, die PHP automatisch erzeugt, vorher wieder entfernt werden
    siehe http://de.php.net/manual/de/function.get-magic-quotes-gpc.php und Links.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau