Problem mit at line ....

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

  • Problem mit at line ....

    Servus Jungs,

    ich wollte alle $_POST Daten mit foreach in MySQL abspeichern lassen, mein Problem ist aber es erscheint ein MySQL Fehler:

    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 'key=title' at line 1

    Code:

    PHP-Code:
    foreach($_POST AS $key => $value)
                         {
               
    getMySQLQuery("UPDATE ".PREFIX."_config SET value=".$value." WHERE key=".$key."");  
               } 
    wenn ich var_dump($_POST); schreibe gibt er das aus:

    PHP-Code:
    array(9) { 
    [
    "title"]=> string(9"ffff" 
    ["mail"]=> string(7"asasdad" 
    ["meta_author"]=> string(11"55555555555"
     
    ["meta_publisher"]=> string(6"asdasd" 
    ["meta_language"]=> string(2"de"
     
    ["meta_robots"]=> string(15"index,no follow" 
    ["meta_keywords"]=> string(12"asdasdasdasd"
     
    ["meta_description"]=> string(11"45645654646"
     
    ["save"]=> string(23"Einstellungen speichern" 
    Also ist etwas im Array drin, also ist mit Fehler bei dem Query aber wo ?

    Auch hier die MySQL Struktur von mega_config:

    PHP-Code:
    CREATE TABLE `mega_config` (
      `
    keyvarchar(255collate latin1_general_ci NOT NULL,
      `
    valuetext collate latin1_general_ci NOT NULL
    ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
    Danke schon mal

  • #2
    Strings sind zarte Geschöpfe. Von roher, fleischiger Hand gefühllos in eine SQL-Abfrage geworfen, fühlen sie sich unwohl und fangen an zu strampeln.

    Sind sie dann in der seidenen Röhre der mySQL-Verbindung (bis 4.2, bei neueren Versionen ist die Röhre aus irgendeinem Leder), fügen die Strings mit ihren strampelnden Füßchen der Röhre Kratzer zu. Manchmal, vor allem, wenn die Strings bissige Leerzeichen enthalten, werden die Kratzer so groß, das die Röhre ein Loch kriegt und der String rausfällt. Das gibt dann einen Error.

    Ein Traditionell bewährtes Hausmittel ist die zarte Umhüllung eines einfachen Anführungszeichens. Es lindert die Panik des Strings beim Durchpurzeln der Röhre, und alles läuft glatt.

    Zuletzt geändert von pekka; 30.08.2006, 18:43.

    Kommentar


    • #3
      Dokotor meGa umhüllte die zarten Jungs mit anführungzeichen, doch leider geschah nichts. Hat er das Pflatzer vorbeigeklebt ??

      PHP-Code:
      foreach($_POST AS $key => $value)
                           {
                 
      getMySQLQuery("UPDATE ".PREFIX."_config SET value='".$value."' WHERE key='".$key."'");  
                 } 

      Kommentar


      • #4
        Nein, das stimmt so!
        Zeig mal die Query, wie sie an mySQL übergeben wird.

        Kommentar


        • #5
          @pekka
          OffTopic:
          du bist ja ein wahrer poet wenn nur alle hier so wären


          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Aber hallo,

            wie gebe ich denn nochmal den Query aus sorry

            Kommentar


            • #7
              schön zu lesen solche beiträge =)

              Kommentar


              • #8
                Original geschrieben von meGa
                Aber hallo,

                wie gebe ich denn nochmal den Query aus sorry
                Mit echo!

                Kommentar


                • #9
                  Und den String mit dem Wert, der in die Spalte soll, magst du Anführungszeichen drumherumlegen, oder ihn auch mit Speck umwickeln - aber auch das vermag nichts daran zu ändern, dass der gewählte Spaltenname ein reserviertes Wort ist ...

                  http://dev.mysql.com/doc/refman/4.1/...ved-words.html
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Da hast Du natürlich sehr recht.
                    Zuletzt geändert von pekka; 31.08.2006, 10:30.

                    Kommentar


                    • #11
                      Mhh ok habe mal andere namen geteste geht immer noch nicht.

                      PHP-Code:
                      foreach($_POST AS $************key => $************yvalue)
                                           {
                                 
                      getMySQLQuery("UPDATE ".PREFIX."_config SET value='".$************yvalue."' WHERE key='".$************key."'");  
                                 } 
                      wo ist der Fehler ?

                      Kommentar


                      • #12
                        Original geschrieben von wahsaga
                        ...dass der gewählte Spaltenname ein reserviertes Wort ist ...

                        [/B]

                        Kommentar


                        • #13
                          ALso ist damit value und key gemeint ?

                          Kommentar


                          • #14
                            JA! Der SPALTENNAME, nicht der name deiner Variable.

                            Kommentar


                            • #15
                              Alles klar es geht. Gibt es irgendeine möglichkeit doch key und value zu bentutzen ode rmuss ich einfach andere namen überlegen ?

                              Kommentar

                              Lädt...
                              X