ich habe folgendes Problem. Es wird immer folgender Fehler ausgegeben:
Parse error: syntax error, unexpected ';' in /mnt/cr1/03/519/00000019/htdocs/konfig/include/meinaccount.php on line 54.Zeile 54 entspricht dabei der Zeile nach WHERE, also „Benutzer = …“.
[php] $sql = „UPDATE
tbl_benutzer
SET
Benutzer = '“.trim($_POST[‚benutzername‘].„',
Name = '“.trim($_POST[‚name‘]).„',
Email = '“.addslashes(trim($_POST[‚email‘])).„’
WHERE
Benutzer = '“.$_SESSION[‚Benutzername‘].„';“;[/php]Wo soll der Fehler sein?
Dass Du
[php]$sql = „UPDATE
…
Benutzer = '“.$_SESSION[‚Benutzername‘].„';“;[/PHP]
falsch interpretierst?
OT:
Wenn es nach Deinen Wünschen geht, hätte anstatt seines Codes folgender Schnipsel stehen müssen:
[PHP]$sql = „UPDATE“ . „\n“ .
" tbl_benutzer" . „\n“ .
" SET" . „\n“ .
" Benutzer = ‚„.trim($_POST[‚benutzername‘].“‘," . „\n“ .
" Name = ‚„.trim($_POST[‚name‘]).“‘," . „\n“ .
" Email = ‚„.addslashes(trim($_POST[‚email‘])).“‘" . „\n“ .
" WHERE" . „\n“ .
" Benutzer = ‚„.$_SESSION[‚Benutzername‘].“‘;";[/PHP]
Aber selbst diese Umschreibung löst nicht sein Problem, weil sein Problem eine Zeile vor $sql = … steht.
Hääää? SQL-Statements sind grundsätzlich mit einem Semi abschließbar. Bei mehreren Statements in einer Abfrage ist es sogar Pflicht.
Unabhängig davon hatte WebMuce einen PHP-Fehler und keinen SQL-Fehler. Wenn Du jetzt das Zeichen aus dem SQL-Statement entfernst, wird sich am PHP-Fehler nichts ändern. Und wenn Du das Semi am Ende enfernst wird sich immer noch nichts ändern, weil PHP bisher noch gar nicht zur Zeile kommt, um den Fehler zu melden.
SELECT * FROM temp_users ORDER BY name ASC; TRUNCATE temp_users
wirst du um das ; nicht herum kommen, oder du machst 2* ein mysql_query.
Je nach Menge belastest du den Server enorm mit mehreren Querys, und dein Script wird lange laufen…sehr lange…
Du hast - um es mit deinen Statement zu verfassen - folgendes Statement
[PHP]mysql_query( „SELECT * FROM table WHERE id > 0;“);[/PHP] als fehlerhaft betitelt und möchtest stattdessen
[PHP]mysql_query( „SELECT * FROM table WHERE id > 0“);[/PHP] als einzigst korrekte Form benennen …