Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL-UPDATE mit leerer Variable macht Probleme

Einklappen

Neue Werbung 2019

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

  • MySQL-UPDATE mit leerer Variable macht Probleme

    Hallo,

    ich stehe hier gerade vor einem kleinen Problem, welches ich mir nicht erklären kann.

    Ich habe ein Array mit 6 Elementen, welche in 6 Felder meiner Datenbank geschrieben werden sollen:
    PHP-Code:
    $command "UPDATE Tablename SET ID = '$content[0]', Rank = '$content[1]', Name = '$content[2]', References = '$content[3]', Headline = '$content[4]', Text = '$content[5]' WHERE IDX = '$idx'"
    Funktioniert soweit auch meistens einwandfrei, außer ein Array-Element ist leer!
    Woran liegt das denn?

    Die DB-Einstellungen sind alle korrekt, sprich es kommt nicht zu Datentyp-Problemen da alles Text ist.
    Ebenso habe ich auch schon versucht, die Variablen wegzulassen und beispielsweise einfach ID = '' zu schreiben --> auch das ist erfolglos!
    Wieso kann ich keine leeren Strings in meinen MySQL-Befehlen verwenden? Laut Google-Recherche sollte das eigentlich funktionieren. Bei mir wird stattdessen gar nichts upgedated, sprich der MySQL-Befehl ist komplett erfolglos, wenn bereits lediglich ein Element ein leerer String ist.

    Kann mir da jemand weiterhelfen?

    Liebe Grüße
    K. Beutler

  • #2
    Was sagt "echo $command" (mit einem Leer-String)?
    Lass dir das mal ausgeben, dann check die Syntax und dann ob die WHERE-Bedingung überhaupt zutrifft.

    Kommentar


    • #3
      Was sagt "echo $command" (mit einem Leer-String)?
      Lass dir das mal ausgeben, dann check die Syntax und dann ob die WHERE-Bedingung überhaupt zutrifft.
      Alles schon getan.
      Echo sieht gut aus:
      "UPDATE Tablename SET ID = '3_3_9_0', Rank = '1_0', Name = 'Summary_1', References = '', Headline = 'Überschrift X', Text = 'Text X' WHERE IDX = '17'";
      Der Knackpunkt ist hier der Teil mit "References". Lasse ich diesen weg, wird die Anfrage ausgeführt.
      Woran kann das liegen?

      Kommentar


      • #4
        Dann frage doch mal MySQL, ob ein Fehler vorliegt.
        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

        Kommentar


        • #5
          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 'References = ''
          Hilft mir nicht wirklich weiter...

          Kommentar


          • #6
            Dein Problem besteht nicht beim Einsetzen eines leeren Strings, dein Problem besteht bei der Beachtung von reservierten Wörtern in MySQL Queries. 'References' ist solch ein 'Reserved Word' und muss daher mit Backticks (`) versehen werden. Folgende Stichworte allgemein, die du dir unbedingt anschauen solltest:

            Kommentar


            • #7
              Ohhh! Verdammt, das stimmt!! Mensch da wäre ich niemals drauf gekommen..

              Ich hatte mich eben schon gewundert, als ich es mit einem nicht-empty-String versuchte und immernoch die Fehlermeldung bei References kam... aber jetzt ist natürlich alles klar..

              Vielen Dank!

              Kommentar

              Lädt...
              X