query dynamisieren

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

  • #16
    feld_1 und feld_2 sind sicher Strings und keine Integers ? Falls du Zugriff auf die Mysql Konsole hast gib mal
    Code:
    SHOW COLUMNS FROM deine_tabelle;
    und stelle sicher, dass die beiden Felder wirklich Strings sind. Wenn sie doch Integers sind, dann musst du die ' und ' um die Werte entfernen. Sonst versuchst du einen String in ein Int Feld zu schreiben und dann motzt die DB

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #17
      Original geschrieben von jahlives
      feld_1 und feld_2 sind sicher Strings und keine Integers ?
      Falls du Zugriff auf die Mysql Konsole hast gib mal
      Code:
      SHOW COLUMNS FROM deine_tabelle;
      und stelle sicher, dass die beiden Felder wirklich Strings sind. Wenn sie doch Integers sind,
      dann musst du die ' und ' um die Werte entfernen. Sonst versuchst du einen String in ein Int Feld zu schreiben und dann motzt die DB

      Gruss

      tobi

      PHP-Code:
      SQL query
      SHOW COLUMNS FROM test_links2
      Edit ] [ Create PHP Code ] [ Refresh ]



      Full Texts
      Field
      -----Type----------Null------Key------Default------Extra
      id
      --------int(11) ------NO--------PRI------NULL---------auto_increment
      feld_1
      ----varchar(255)--YES----------------NULL      
      feld_2
      ----varchar(255)--YES ---------------NULL 
      -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

      Kommentar


      • #18
        Original geschrieben von jahlives
        Wenn sie doch Integers sind, dann musst du die ' und ' um die Werte entfernen.
        Sonst versuchst du einen String in ein Int Feld zu schreiben und dann motzt die DB
        PHP-Code:
        // ver 1
        $aa "`$k` = '$v2'"
        PHP-Code:
        // ver 2
        $aa "`$k` = $v2"
        PHP-Code:
        // ver 3
        $aa "$k = $v2"
        tor eins, zwei oder drei, wo ist der zonk drin? ^^
        -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

        Kommentar


        • #19
          PHP-Code:
          $aa $k."='".$v2."'"
          Ich persönlich würde mal Tor 4 probieren... Vllt hilfts

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #20
            och meno immer noch das mit syntax,

            frage verursacht vielleicht ein print() innerhalbeiner query evtll
            einen fehler ???
            also dann muss das print weg und irgendwie muss ich die arrays von $rowenta in die query bekommen
            -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

            Kommentar


            • #21
              *hust*

              PHP-Code:
              foreach($b as $k => $v// arrays zuweisen
              {
                 
              $v2 $_POST[$k]; // "Sie haben Post" ^^ inputs nach $_POST checken
                  
              $aa "`$k` = '$v2'"// Feldnamen und POSTwert zuweisen

              Was soll das bringen ?

              Wozu ein foreach wenn du $aa doch immer wieder überschreibst (würde auch das angebliche Kommaproblem erklären)

              Schon mal was von Stringverkettung gehört? :P

              EDIT:

              ... und Nein, echo oder printe wo du willst, daran ändert sich dein Problem nicht (es sei denn vor einem session_start, aber das ist eine andere Geschichte

              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #22
                Original geschrieben von hhcm
                Wozu ein foreach wenn du $aa doch immer wieder
                überschreibst (würde auch das angebliche Kommaproblem erklären)
                hmm aber das komma problem ist schon geloest,
                also vestehe ich dich jetzt nicht ganz oder willst du noch auf was anderes hinaus?

                Original geschrieben von hhcm
                Schon mal was von Stringverkettung gehört? :P
                ja nach dem lesen wie echo zB funtioniert, nur waere das nicht wieder un-dynamisch? =P
                EDIT:
                was die arrays angeht ? falls ich mich richtig ausgedrueckt hab =)


                Original geschrieben von hhcm
                *hust*
                maenner ^^ ;P
                Zuletzt geändert von Ricola; 12.04.2007, 08:46.
                -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                Kommentar


                • #23
                  @Ricola
                  Du kannst Strings so verketten
                  PHP-Code:
                  $aa '';
                  foreach(
                  $b as $k => $v// arrays zuweisen
                  {
                     
                  $v2 $_POST[$k]; // "Sie haben Post" ^^ inputs nach $_POST checken
                      
                  $aa .= "`$k` = '$v2'"// Feldnamen und POSTwert zuweisen

                  Zuerst weist du $aa einen Leerstring zu und mit .= fügst du alles hinter dem gleich an den String $aa an.
                  Am Schluss hast du in String $aa alle Felder und deren Werte.

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #24
                    @jahlives
                    thx dass du mir noch weiter hilfst =)
                    hab es so gemacht wiue beschrieben nur kommt die meldung immer noch,
                    frage wie bekomm ich hin das der print() von $rowenta nich an der oberflaeche erscheint,
                    weil ich kann ja mehr als nur den fehler mit der syntax sehen, vielleicht ist da der fehler drin.
                    so ich hab jetzt auch mal was anderes getestet, printf()
                    und die meldung kommt dabei raus hilft die eventl. weiter?
                    PHP-Code:
                    You have an error (...) right syntax to use near '30' at line 1
                    30 
                    also meine frage ist ja, mit welchem befehl kann man diesen ablauf intern
                    ablaufen lassen(dass $rowenta auch intern bleibt und nich sichtbar ist wie ich es jetzt gerade hab)
                    PHP-Code:
                    #var_dump($rowenta);
                    print("$rowenta");

                    ############### und

                    $nol_a = print("INSERT INTO `test_links2` SET ");
                    $nol_b print_this();
                    $nol $nol_a.$nol_b
                    also print() und printf() machen $rowenta sichtbar und wenn das eventl nur intern
                    ablaufen wuerde waere ja die frage schon mal geloest ob es daran liegt oder
                    nicht um weiter zu forschen falls es nicht geklappt hat.
                    gibt es eine
                    form um $rowenta intern printen oder aehnliches zu lassen? falls du weisst was ich meine =)
                    Zuletzt geändert von Ricola; 13.04.2007, 14:46.
                    -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                    Kommentar


                    • #25
                      gibt es eine
                      form um $rowenta intern printen oder aehnliches zu lassen? falls du weist was ich meine =)
                      Meinst du wo was ?
                      PHP-Code:
                      $nol "INSERT INTO `test_links2` SET ";
                      $nol .= $rowenta
                      Mit einem print, echo etc ppt gibst du immer an den Browser aus. Auf Werte von Var kannst du ohne Print zugreifen...

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #26
                        ja das war es =)
                        so ich habe auch mal die function print_this() entfernt
                        er fuegt es auch ein aber leider imer nur das letzte array von der kette,
                        dass heisst er hat nur letzt endlich ausserhalb der while() function immer nur
                        >>`feld_2` = '222'<< anstatt von
                        >>`feld_1` = '111', `feld_2` = '222'<<
                        das heisst das array welches eines mal war ist keines mehr und
                        es gitb nur noch die letzte schleife her, ist hier denn was machbar,
                        zB das recovern von den erstem array bis zum vorletzten ?
                        weil mein eigentliches problem von anfang an bevor ich mich hier bei
                        euch gemeldet hatte war das ich leider die gesammte array aus der
                        ganzen schleife aus der while() bekommen hab sondern immer nur
                        die letzte schleife und somit das letzte array()
                        deswegen hatt eich mal gefragt om man zB in der while() eine art
                        globals einfuegen kann die diese werte ausserhalb verfuegbar
                        machen. also sie globalisieren zb wenn die letzte schleife durch ist.
                        falls du weisst was ich meine ;P
                        -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                        Kommentar


                        • #27
                          er fuegt es auch ein aber leider imer nur das letzte array von der kette,
                          Das klingt sehr danach, dass die Variable bei jedem Schleifendurchlauf überschrieben wird --> nur letztes Element vorhanden
                          Ich vermute, dass du deine Var innerhalb der Schleife initialisierst und sie damit bei jedem Durchlauf wieder überschreibst.
                          Poste mal den momentanen Code der Schleife wo du die Query zusammensetzt. Aber bitte nur die relevanten Zeilen und nicht einfach den gesamten Quellcode

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #28
                            ich habs =D aber auch nur dank deiner hilfe jahlives mit dem
                            PHP-Code:
                            $aa ''// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            foreach($b as $k => $v// arrays zuweisen
                            {
                               
                            $v2 $_POST[$k]; // "Sie haben Post" ^^ inputs nach $_POST checken
                                
                            $aa .= "`$k` = '$v2'"// Feldnamen und POSTwert zuweisen
                            }

                            ######### und

                            $nol .= $rowenta// <<<<<<<<<<<<<<< 
                            also das mit dem wert for einer schleife auf null stellen >> $aa = ''; <<
                            ist wichtig gewesen und dan das punkt gleich >> .= <<
                            siehe
                            PHP-Code:
                            $a0 0;
                            $output '';  // added
                            while ($a0 <= $a0
                            PHP-Code:
                            ########### das...
                            #var_dump($rowenta);
                            print("$rowenta");  // wurm drin ??
                                    
                            $a0++;                    
                            }
                            ########### ...auf das geaendert

                            $output .= $rowenta
                            $a0++;

                            echt klasse =)
                            echt viele dank =D
                            jetzt kann ich euch auch bald den fertigen script zu den
                            code-schnippseln hinzufuegen wenn ich ihn fertig hab =)
                            bye =*
                            -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                            Kommentar


                            • #29
                              Dann ist ja gut, dass ich Dir helfen konnte. Aber mir ist gerade noch was aufgefallen: Wielange läuft diese Schleife deiner Meinung nach ?
                              PHP-Code:
                              while ($a0 <= $a0
                              Diese Bedinung wird immer erfüllt von dem her wird so eine Schleife unednlich lange laufen (oder zumindest solange wie es die Conf zulässt)

                              Gruss

                              tobi
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar


                              • #30
                                PHP-Code:
                                while ($a0 <= $a0)
                                {
                                if (@
                                mysql_field_name($CONEX_ADD,$a0)==false)
                                    
                                // checkt ob daten enthalten sind, wenn nicht (also FALSE) dann Stop
                                    
                                {
                                    break;
                                    } 
                                ist das nicht diese hier ??
                                -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                                Kommentar

                                Lädt...
                                X