[SQL allgemein] "INSERT INTO" in Schleife wir nur ein mal ausgeführt

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

  • [SQL allgemein] "INSERT INTO" in Schleife wir nur ein mal ausgeführt

    Hallo Leute,

    ich habe ein kleines Script geschrieben und habe das Problem, dass mein mysql_query nur ein mal ausgeführt wird, obwohl es mehrmals ausgeführt werden müsste.


    PHP-Code:
    $prequery02 mysql_query("SELECT ucid FROM content");
    while(
    $query02 mysql_fetch_object($prequery02))
        
    {
       if (
    $_POST[$query02->ucid] == "on")
       {
          echo 
    "Wurst<br />";

          
    mysql_query("INSERT INTO `response` VALUES ( '".$usr_id."', '".$query02->ucid."', '1' );");
       }

    Der Rest aussen Rum funktioniert, und
    PHP-Code:
    echo "Wurst <br/>"
    wird auch mehrmals ausgegeben, was bedeutet das meine Schleife auch richtig arbeitet, aber eben nicht das query.

    Könnt Ihr mir helfen und sagen was ich falsch gemacht habe?

  • #2
    eigentlich ist es unschön eine query in einer Schleife auszuführen, aber davon mal abgesehen, schon mal mysql_error() probiert? bzw ein print_r($_POST) und geschaut, ob die Werte die aus deiner DB kommen auch in deinem Post sind?

    Kommentar


    • #3
      Also ein Fehler wird nicht ausgegeben.
      Die Schleife soll mehrmals Daten in die DB schreiben, aber das ganze passiert nur 1 mal.
      Die Daten sind schon richtig und kommen aus meinem POST aber leider fehlt der Rest.

      Meine Frage ist, warum das query nur 1 mal ausgeführt wird?

      Kommentar


      • #4
        Original geschrieben von krel
        eigentlich ist es unschön eine query in einer Schleife auszuführen,
        ... und in diesem Fall auch völlig überflüssig.
        Und in Ergänzung zu krel's Aussage: die evaluierte Abfrage ausgeben. Und wenn du keinen Fehler abfrägst, wird natürlich auch keiner ausgegeben.
        Gruss
        H2O

        Kommentar


        • #5
          ich habe die Fehlerabfrage natürlich eben schnell eingebaut, aber er gibt keinen Fehler zurück.

          Kommentar


          • #6
            auch so?
            PHP-Code:
            $prequery02 mysql_query("SELECT ucid FROM content");
            while(
            $query02 mysql_fetch_object($prequery02))
                
            {
               if (
            $_POST[$query02->ucid] == "on")
               {
                  echo 
            "Wurst<br />";

                  
            mysql_query("INSERT INTO `response` VALUES ( '".$usr_id."', '".$query02->ucid."', '1' );") OR die(mysql_error());
               }

            Kommentar


            • #7
              Original geschrieben von the*puppetmaste

              Meine Frage ist, warum das query nur 1 mal ausgeführt wird?
              Wahrscheinlich weil der Primary Key immer derselbe ist, und du - wie schon gesagt - diesen möglichen Fehler gar nicht kontrollierst
              Gruss
              H2O

              Kommentar


              • #8
                OffTopic:
                heißt es eigentlich "der", "die", "das" query? Hab bis jetzt immer nur "die" gesagt

                Kommentar


                • #9
                  Original geschrieben von krel
                  OffTopic:
                  heißt es eigentlich "der", "die", "das" query? Hab bis jetzt immer nur "die" gesagt
                  Ganz einfach: die Abfrage
                  Gruss
                  H2O

                  Kommentar


                  • #10
                    Also Ihr hattet Recht, ich mal wieder nicht.

                    Der Index war immer der selbe Wert und deshalb hat er nix gemacht.

                    Ich danke euch vielmals ... jetzt gehts.

                    Kommentar


                    • #11
                      Und was hast du daraus gelernt?
                      Kein mysql_query() ohne anschliessend mysql_error() abzufragen!
                      Gruss
                      H2O

                      Kommentar

                      Lädt...
                      X