Frank: MYSQL Update problem

Hi, habe ein problem mit ner sql anweisung.
in meiner Tabelle "inhalt" sind folgende spalten.
id,index,seite,beschreibung

Nun habe ich in PHP folgende anweisung geschrieben.

$Sql="Update inhalt Set "; $Sql=$sql."index='$index',seite='$seite',";
$Sql=$sql."beschreibung='$beschreibung' ";
$Sql=$sql."Where id='$id' LIMIT 1";
$result=mysql_query($Sql);

So weit so gut. Aber nun bekomme ich eine Fehlermeldung (1064) das irgend etwas in der nähe von index falsch ist in meinem Syntax.
Kann mir da jemand weiter helfen?

  1. Hallo Frank,

    So weit so gut. Aber nun bekomme ich eine Fehlermeldung (1064) das irgend etwas in der nähe von index falsch ist in meinem Syntax.

    "index" ist ein reserviertes Wort, das du nicht einfach als Spaltennamen verwenden kannst. Um reservierte Wörter doch zu verwenden, muss man sie in Querys in Backticks (»`«) einschließen - ich würde dir aber empfehlen die Spalte umzubenennen.

    Grüße aus Nürnberg
    Tobias

    --
    TOP7: Hinweise, dass du (zu) jung bist
    Softwaretipp: Opera
    1. Danke für die schnelle Hilfe, habe das Problem mit

      `<< gelöst.

  2. yo,

    die variablen $Sql und $sql sind zwei verschiedene variablen da php meiner meinung nach zwischen gross und kleinschreibung bei variablen unterscheidet. bin mir da aber nicht 100% sicher.

    zum anderen machst du es für uns wesentlich leichter, wenn du die variable mal auf dem bildschirm mit echo ausgeben würdest, und sie dann via copy&paste hier ohne PHP statementts ins forum stellst. dann ist es für uns leichter, das sql statement nachzuvollziehen.

    Ilja

    1. Moin!

      die variablen $Sql und $sql sind zwei verschiedene variablen da php meiner meinung nach zwischen gross und kleinschreibung bei variablen unterscheidet. bin mir da aber nicht 100% sicher.

      Dann hättest du es entweder ausprobieren oder im Handbuch nachschlagen können. Oder weniger überzeugt formulieren im Sinne von "Bist du sicher, dass PHP Variablennamen case-insensitiv verwaltet?".

      Allerdings hast du Recht: http://de.php.net/variables

      zum anderen machst du es für uns wesentlich leichter, wenn du die variable mal auf dem bildschirm mit echo ausgeben würdest, und sie dann via copy&paste hier ohne PHP statementts ins forum stellst. dann ist es für uns leichter, das sql statement nachzuvollziehen.

      Das ist sowieso immer eine gute Idee. Auch wenn man nicht das Forum befragt, zur Kontrolle das fertige SQL anschauen, um den Fehler selbst zu finden, ist immer eine gute Idee.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
  3. $Sql="Update inhalt Set "; $Sql=$sql."index='$index',seite='$seite',";
    $Sql=$sql."beschreibung='$beschreibung' ";
    $Sql=$sql."Where id='$id' LIMIT 1";
    $result=mysql_query($Sql);

    Gibt es gelegentlich mehr als einen Datensatz mit gleichem Wert im Datenfeld "id"?