MYSQL Update geht nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MYSQL Update geht nicht

    Guten Abend,

    Bin schon seit gester Nachmittag dabei einen Fehler zu beheben, aber schaffe dies anscheinend nicht ohne eure Hilfe.

    Mein Problem:
    Per Adminpanel will ich meine News bearbeiten mittels folgendem MYSQL-Befehl:

    PHP-Code:
     // berechnungen ec.

    $query "UPDATE news  SET (datum, benutzer, ip, text, pic, titel)
    VALUES ('
    $datum_neu','$ip_neu','$text_neu','$pic_neu','$titel_neu') WHERE datum=$datum_alt";

    echo 
    $query;

    mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());

    //weiteres... 
    Nun bekomme ich die Fehlermeldung:

    Anfrage fehlgeschlagen: 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 '(datum, benutzer, ip, text, pic, titel) VALUES ('','','Die Musikgesellschaft Mol' at line 1

    Kann es sein, dass es mir meinen Eintrag nicht ändert, da ich den zu ändernden Eintrag mittels dem Datum auslese und dann das datum auch im neuen EIntrag ändern möchte?

    Vielen Dank für Eure Hilfe.
    Grüsse ignition
    Zuletzt geändert von ignition; 15.10.2007, 21:06.

  • #2
    Bitte Regeln lesen und Code umbrechen!

    text ist ein reserviertes Wort!!
    Also umbenennen oder in Backticks setzen.
    Wir werden alle sterben

    Kommentar


    • #3
      vielen dank für Deine Hilfe,
      aber wenn ich die Spalte in "newstext" umnenne, sollte es dann gehen?

      Wenn ja, habe ich noch einen Fehler da es immernoch die Fehlermeldung ausgibt?

      habe meine $query jetzt so geändert:

      PHP-Code:
       $query "UPDATE news (datum, benutzer, ip, newstext, pic, titel) 
      VALUES ('
      $datum_neu','$ip_neu','$text_neu','$pic_neu','$titel_neu') WHERE datum=$datum_alt"
      und bekomme die gleiche Fehlermeldung!?
      Zuletzt geändert von ignition; 15.10.2007, 21:16.

      Kommentar


      • #4
        Wenn du dir mal bitte die Syntax eines UPDATE-Statements im Manual anschaust?!
        Du vermischt da nämlich gerade was mit INSERT...

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          und davon abgesehn, würde ich dir raten einen anderen primärschlüssel zu wählen
          denn wenn du 2 news am selben tag verfasst, editierst du mit deinem
          update beide

          Kommentar


          • #6
            Original geschrieben von BugBite
            und davon abgesehn, würde ich dir raten einen anderen primärschlüssel zu wählen
            denn wenn du 2 news am selben tag verfasst, editierst du mit deinem
            update beide

            Schon? Aber wenn ich die genaue zeit nehme, an dem ich die News erstellt habe, kann es ja nur ein Datum geben. da wenn ich 10 minuten später oder auch nur 1 sekunde später einen neuen Eintrag verfasse, auch die Datum bzw. Zeit einen höheren Wert hat?

            Kommentar


            • #7
              naja, hier hab ich auch keinen Plan was da falsch ist:
              PHP-Code:
              $query "UPDATE news SET 
                          datum='
              $datum_neu', 
                          benutzer='Hanspeter', 
                          ip='
              $ip_neu', 
                          news='
              $text_neu', 
                          pic='foto', 
                          titel='
              $titel_neu', 
                          WHERE datum='
              $datum_alt'"

              Kommentar


              • #8
                naja, hier hab ich auch keinen Plan was da falsch ist:
                Und ich hab immer noch keinen Plan warum du keine Fehlermeldung postest, zumal da wohl ein Komma zu viel ist.
                Schon? Aber wenn ich die genaue zeit nehme, an dem ich die News erstellt habe, kann es ja nur ein Datum geben. da wenn ich 10 minuten später oder auch nur 1 sekunde später einen neuen Eintrag verfasse, auch die Datum bzw. Zeit einen höheren Wert hat?
                Es kann trotzdem passieren das zwei Benutzer gleichzeitig einen Eintrag abspeichern. Genau dafür gibt es Primärschlüssel die auch toll Indiziert werden können. Warum man das braucht steht auch hier.
                Zuletzt geändert von tontechniker; 15.10.2007, 22:03.
                Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                Kommentar

                Lädt...
                X