<a href="-online-1"></a> <a href="-online-2"></a> <a href="-online-4"></a> <a href=""></a> <a…
von:
VPNwelt.com sucht Feedback Wie der Name schon sagt handelt es sich um eine Review Website für…
von: florian.berg.privat
Hey,
ich habe ne Seite wo ich Datensätze ändern muss, bekomm aber folgenden Fehler:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in B:\xampp\htdocs\bibo\func\uchange.php on line 40
Hier kommt alles was ab der Zeile 40 ist:
$abfrage2 = "UPDATE " . $tabname . " SET user = '" . $usernew . "', pwddb = '" . $pwddbnew . "', vname ='" . $vnamenew . "', nname ='" . $nnamenew .'" WHERE id = " . $wert . "";
$erg2 = mysql_db_query("$dbname",$abfrage2,$verbindung);
or die ("Fehler mit der Datenbank" . mysql_error());
mysql_close ($verbindung) ;
echo "Die Daten wurden erfolgreich geändert";
hoffe ihr könnt mir helfen.
MFG
Daniel
Hi Daniel,
ich würde dir zu einem Editor mit Syntax-Highlighting raten, da sieht man solche Fehler recht schnell.
Der Fehler liegt hier $nnamenew .\'" WHERE id = " . $wert . "";
Korrekt wäre: $nnamenew ."\' WHERE id = " . $wert . "";
Achte auf die Unterscheidung von single- und double-quotes.
Zwei Zeilen später findet sich allerdings noch ein Fehler:
$erg2 = mysql_db_query("$dbname",$abfrage2,$verbindung);
or die ("Fehler mit der Datenbank" . mysql_error());
Richtig wäre: $erg2 = mysql_db_query("$dbname",$abfrage2,$verbindung) or die ("Fehler mit der Datenbank" . mysql_error());
Davon ab gibt es noch ein paar Unschönheiten: . $wert . "";
Ein "" am Ende bewirkt nichts. Das . "" kannst du also weglassen. $erg2 = mysql_db_query("$dbname",$abfrage2,$verbindung);
$dbname enthält mit hoher wahrscheinlichkeit bereits einen String und wenn nicht, wandelt PHP intern automatisch um. Statt "$dbname" reicht also $dbname. $abfrage2 = "UPDATE " . /...
Innerhalb von double-quotes werden Variablen ausgewertet. Du kannst also zur Verbesserung der Lesbarkeit auf das ständige Öffnen und Schließen der double-quotes verzichten: $abfrage2 = "UPDATE $tabname SET user = \'$usernew\', pwddb = \'$pwddbnew\', vname =\'$vnamenew\', nname =\'$nnamenew\' WHERE id = $wert";
Davon ab noch eine Frage zur Sicherheit: Wo kommt der Inhalt der ganzen Variablen her? Wenn sie vom User (z.B. über ein Formular) gesetzt werden können, validierst du sie vorher?
Beitrag erstellen
EinloggenKostenlos registrieren