PHP-MYSQL Fehler
Lukas Froschauer
- php
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
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
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