Update Syntax Fehler

aherzog

Erfahrenes Mitglied
Hallo

ich kämpfe mich durch den UPDATE-Befehl.
Und vor lauter Anführungszeichen und Hochkommata, sehe ich den Fehler nicht mehr.
Bin schon seit, 3 Stunden am probieren.... Hochkomate weg, an anderem Ort wieder einsetzten und und und..

Im Forum ist das zwar schon ziemlich viel besprochen worden, doch in den BSP. ist es mal so, und mal anders...

Da ich jeztzt föllig verwirt bin, bitte ich euch mir doch zu sagen, was ich falsch mache...

vielen Dank...

Also das ist der Kopfweh-Code :confused:

PHP:
$sql_data_update="UPDATE fahrer_db SET name="'.$_POST['name'].'" WHERE in_datenbank="'.$_POST['fahrerbox']'
	$qry_data_update = mysql_query($sql_data_update) 
	or die(mysql_error()); 

        if($qry_data_update)
        { 
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz erfolgreich modifiziert</span>"; 
        }
        else
        { 
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz konnte nicht modifiziert werden</span>"; 
        }

EDIT:
Habe noch die Fehlermeldung vergessen:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/www/web126/html/f1statistik_v2/admin/auswahl_fahrer-portraet.php on line 13


Gruss und vielen Dank für die Hilfe.
Andreas
 
Zuletzt bearbeitet:
Hi.

das semikolon, jo das ist klar..
aber die Anführungszeichen

Schreibe ich die Anweisung so:
PHP:
WHERE in_datenbank="'.$_POST['fahrerbox']"';
= gleicher Fehler.

Wenn ich das Anführungszeichen nach der eckigen Klammer wegnehme und dann nach derm Hochkomma setzt kommt ebenfalls die gleich Fehlermeldung...
PHP:
WHERE in_datenbank="'.$_POST['fahrerbox']'";

In den Beispielen ist das $_POST so
PHP:
"'.$_POST['name'].'"
geschrieben, ist das den bei der WHERE Abfrage anders?
 
PHP:
$sql_data_update = "UPDATE `fahrer_db` 
      SET `name` = '".mysql_real_escape_string($_POST['name'])."' 
      WHERE `in_datenbank` = '".mysql_real_escape_string($_POST['fahrerbox'])."'";
    $qry_data_update = mysql_query($sql_data_update) 
    or die(mysql_error()); 

        if($qry_data_update)
        { 
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz erfolgreich modifiziert</span>"; 
        }
        else
        { 
            $message = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz konnte nicht modifiziert werden</span>"; 
        }

Ein Editor mit einer guten Highlight Funktion hätte dir in diesem Fall auch schon weitergeholfen.

Die Funktion die ich mit eingebaut habe, [phpf]mysql_real_escape_string[/phpf] schützt dich vor SQL Injektionen (siehe Wikipedia für Informationen).
 
Vielen Dank Felix Jacobi für die Korrektur des Codes und dem (super) Sicherheitstip.. *Daumen hoch!!*

Nun funktioniert es super.....

Da mein Beispiel das ich im Internet gefunden habe schon falsch war ärgert mich jetzt enorm.
Leider steht da nichts dabei das es falsch ist...... :mad:

Nun, lert es mich wieder mal, vorher doch hier zu suchen.

Danke und schönes Wochenende...
Gruss Andreas
 
Zurück