Update mit implode...

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

  • Update mit implode...

    Hallo zusammen,

    ich hab da nen Problem mit implode, vorab mal mein Code:

    PHP-Code:
    $x['md_termin1'] = "$_POST[md_termin1Day].$_POST[md_termin1Month].$_POST[md_termin1Year]";
    $x['md_termin2'] = "$_POST[md_termin2Day].$_POST[md_termin2Month].$_POST[md_termin2Year]";
    $x['md_termin3'] = "$_POST[md_termin3Day].$_POST[md_termin3Month].$_POST[md_termin3Year]";

    foreach(
    $x as $key => $value) {

        
    $updateFieldList[] = $key."='".$value."'"

     
    $t1 $db_object->Execute("UPDATE T_TABLE SET '.implode(',',$updateFieldList).'
                           WHERE....... 
    Dazu kommt das ich ne Interbase Datenbank benutze (Firebird Server 1.5)
    ADODB (ähnlich PEAR) und Smarty als Template Engine....

    Problem beim posten ist:

    [COLOR=red]Warning: ibase_query() [function.ibase-query]: Dynamic SQL Error SQL error code = -104 Token unknown - line 2, char 5 '.implode(' in X:\webserver\xampp\htdocs\test\adodb\drivers\adodb-ibase.inc.php on line 351
    -104: Dynamic SQL Error SQL error code = -104 Token unknown - line 2, char 5 '.implode('
    [/COLOR]

    Ziel ist es leere Datumsfelder auszugrenzen vom Update auf die Datenbank.

    Damit kann ich und auch Google nicht grad viel anfangen, aber evtl. ist ja hier jemand der mal vor dem gleichen Problem stand.

    Danke im Voraus.
    -> It`s good to be bad! <-

    http://de.php.net
    http://php-faq.de
    http://www.schattenbaum.net
    http://www.dreamcodes.com

  • #2
    check mal " und '
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Re: Update mit implode...

      mache mal ein ....
      PHP-Code:
      echo "UPDATE T_TABLE SET ".implode(',',$updateFieldList)."
                             WHERE......."

      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        argh...
        danke Abraxax, jetzt weiss ich wenigstens schon mal das er das garnicht erst umsetzt, weil ergebnis von echo =

        Code:
        UPDATE T_TABLE SET '.implode(',',Array).' WHERE MD_KONTAKT = '412616'
        Desweiteren setzt er auch keine Werte in updateFielList[]...
        Hatte die Lösung eigentlich von asp übernommen...
        Liegt das an ADODB ?
        -> It`s good to be bad! <-

        http://de.php.net
        http://php-faq.de
        http://www.schattenbaum.net
        http://www.dreamcodes.com

        Kommentar


        • #5
          weil ergebnis von echo =
          deinem oder meinen. bei mir habe ich schon das ' / " problem berücksichtigt, was du zu haben scheinst.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Ups sorry, du bist nen Schatz !

            Code:
            ".implode(',',$updateFieldList)."
            Aber die Sau nimmt nur einen Wert und speichert das nicht als array aber das mach ich noch. Danke euch beiden
            -> It`s good to be bad! <-

            http://de.php.net
            http://php-faq.de
            http://www.schattenbaum.net
            http://www.dreamcodes.com

            Kommentar


            • #7
              Ausserdem fehlt ja auch noch meine Bedingung...
              *rauskram*
              Gutes nächtle Jungs !
              -> It`s good to be bad! <-

              http://de.php.net
              http://php-faq.de
              http://www.schattenbaum.net
              http://www.dreamcodes.com

              Kommentar


              • #8
                da gibts noch was...

                PHP-Code:
                foreach($x as $key => $value) {

                    
                $werte[] = $key."='".$value."'"

                print_r($werte);
                echo 
                "<br>";
                print_r($x); 
                Problem ist, das in $x alle werte des Forms drinstehen, jedoch nicht in $werte welches für das implode genutzt wird.

                Ausgabe von print:

                Array ( [0] => md_termin1='20.01.2005' ) = WERTE
                Array ( [md_termin1] => 20.01.2005 [md_termin2] => 27.01.2005 [md_termin3] => 27.01.2005 ) = X

                Somit wird beim Update 1 Feld richtig in die DB geschrieben jedoch die anderen nicht... Jemand ne Idee ?
                -> It`s good to be bad! <-

                http://de.php.net
                http://php-faq.de
                http://www.schattenbaum.net
                http://www.dreamcodes.com

                Kommentar


                • #9
                  Evtl. heut jemand ne Idee.... ?
                  Oder nen Ansatz oder auch Denkanstoss...
                  wird alles gern genommen
                  -> It`s good to be bad! <-

                  http://de.php.net
                  http://php-faq.de
                  http://www.schattenbaum.net
                  http://www.dreamcodes.com

                  Kommentar


                  • #10
                    ja, guck dir mal deine klammer an.

                    Kommentar


                    • #11
                      Dazu sag ich jetzt nix mehr !

                      für alle anderen, hab dummerweise vergessen die Klammer zu schliessen....
                      ergo:
                      PHP-Code:
                      foreach($x as $key => $value) {

                          
                      $werte[] = $key."='".$value."'"

                      dat wars.... dankö
                      -> It`s good to be bad! <-

                      http://de.php.net
                      http://php-faq.de
                      http://www.schattenbaum.net
                      http://www.dreamcodes.com

                      Kommentar

                      Lädt...
                      X