MySQL Update

esdesign

Grafikdesigner
Hallo,

ich programmiere eigendlich schon länger, stehe aber gerade voll auf dem Schlauch.:rolleyes:

PHP:
{
                       $query = mysql_query("UPDATE ".$db_prefix."navigation
                       SET name = '".$_POST['name']."', url = '".$_POST['url']."', order = '".$_POST['order']."' 
                       WHERE id = '".$_GET['id']."'") or die(mysql_error()." Datensatz nicht eingefügt!");

                       if ($query == true) { 
                       echo "Die Navigation wurde erfolgreich ge&auml;ndert.<br>Kehren Sie <a href=\"javascript:history.back()\" onMouseOver=\"{window.status='Zurück'; return true;}\">hier</a> zur&uuml;ck."; } else { echo "Die Navigation konnte nicht geändert werden.<br>Kehren Sie <a href=\"navi.php\">hier</a> zur&uuml;ck oder informieren Sie den Administrator."; }
                }

Ich bekomme bei dem Code folgende Fehlermeldung:

Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order = '0' WHERE id = '2'' at line 2 Datensatz nicht eingefügt!

Ich weiss das man normalerweise mysql_real_escape benutzt, ist hier aber nicht nötig, da ich als einziger dieses Formular benutze.

Gruß,
Eike
 
hab nur kurz drüber geschaut, aber verwende mal `` um deine spalten Namen

also vorallem um das `order`

denke da könnte der Wurm sein dass er denkt du willst etwas mit order umbasteln;)

LG

Michael
 
Also wenn man deinen Code ein bisschen ändert um sich wirklich mal die SQL-Anweisung anzuschauen:

PHP:
$db_prefix = "PRE";
$_POST['name'] = "NAME";
$_POST['url'] = "URL";
$_POST['order'] = "ORDER";
$_GET['id'] = "ID";

$query =
    "UPDATE ".$db_prefix."navigation
    SET name = '".$_POST['name']."', url = '"
    .$_POST['url']."', order = '".$_POST['order']."'
    WHERE id = '".$_GET['id']."'";

echo $query;

erhält man folgende Ausgabe:

SQL:
UPDATE PREnavigation SET name = 'NAME', url = 'URL', order = 'ORDER' WHERE id = 'ID'

Diese Anweisung ist so eigentlich in Ordnung. Jedoch wird der Spaltenname "order" so nicht akzeptiert (erkennt man oben auch an der Farbe und daran das es automatisch gross geschrieben wird!).
Siehe entweder hier oder hier.
 
Zuletzt bearbeitet von einem Moderator:
Zurück