PHP-Bug beim SQL-DB-Eintrag...

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

  • PHP-Bug beim SQL-DB-Eintrag...

    Hi Leute (im speziellen Sky und Schmalle)!

    Ich hab da noch ein kleines Problem beim Erzeugen der kompletten Nummer, die sich aus IDmm,DATEmm und TIMEmm zusammensetzt.

    Der Datenbankeintrag funktioniert jetzt einwandfrei aber beim erzeugen der ganzen $nummer macht er das nicht beim soeben eingefügten Datensatz, sondern bei allen die in der DB drinnen sind.

    Code:
    //der Befehl ist OK
    $sqlbefehl = mysql_query("INSERT INTO headrotation SET DATEmm = '$date',TIMEmm = '$time'");

    //nummer erzeugen
    $lesen = mysql_query("select IDmm, DATEmm, TIMEmm from headrotation ");
    while($row = mysql_fetch_array($lesen))
    { $nummer = $row[IDmm].".".$row[DATEmm].".".$row[TIMEmm];
    $eintrag = mysql_query(" update headrotation set NUMMERmm='$mtid' where IDmm='$row[IDmm]' ");
    }


    und noch was: Ist es möglich die $nummer ohne den Punkten als Trennzeichen dazwischen zu erzeugen??
    Also in einem durchgehend.
    Hab versucht das "." wegzulassen => hat dann aber nicht gefunkt.
    $PHP resource 4ever$

  • #2
    //der Befehl ist OK
    $sqlbefehl = mysql_query("INSERT INTO headrotation SET DATEmm = '$date',TIMEmm = '$time'");

    //nummer erzeugen
    $lesen = mysql_query("select IDmm, DATEmm, TIMEmm from headrotation WHERE IDmm=LAST_INSERT_ID()");
    $row = mysql_result($lesen,0);
    $nummer = $row[IDmm].$row[DATEmm].$row[TIMEmm];
    $eintrag = mysql_query(" update headrotation set NUMMERmm='$mtid' where IDmm='$row[IDmm]' ");


    CAT Music Files

    Kommentar


    • #3
      es haut fast hin.
      er aktualisiert jetzt nur mehr den soeben eingetragenen DS. soweit paßt's.
      Aber die Spalte NUMMERmm beinhaltet jetzt nur mehr "666"

      ID_DATE_____TIME_____NUMMER
      6 22.11.2001 05:39:45 666

      noch was Sky:
      wenn ich von sql folgende Meldung bekomme hat's keinen error geben, oder??
      error, mySQL said: '.mysql_error().'
      Query war: '.1.'

      $PHP resource 4ever$

      Kommentar


      • #4
        Sieht komisch aus, da stimmt was mit deinen Quotes nicht - gib mir mal den Code.

        Ansonsten:

        $eintrag = mysql_query(" update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]' ");

        CAT Music Files

        Kommentar


        • #5
          ok. hier der ganze Teil von "Nummer erzeugen"
          was auch immer dir verdächtig vorkommt - ich kann nur sagen, dass der Eintrag in die DB lt. phpmyadmin funkt.
          jede column beinhalet den gewünschten wert.


          //nummer erzeugen NEU
          $lesen = mysql_query("select IDmm, DATEmm, TIMEmm from headrotation WHERE IDmm=LAST_INSERT_ID()");
          $row = mysql_result($lesen,0);
          $nummer = $row[IDmm].$row[DATEmm].$row[TIMEmm];
          $eintrag = mysql_query(" update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]' ");

          //OK or NOT OK Ausgabe von mysql
          $blubnummer = mysql_query($eintrag);
          if (!$blubnummer) {
          echo "error, mySQL said: '.mysql_error().'<br>";
          } else {
          echo "Alles ok.";
          }
          echo "Query war: '.$eintrag.'<br>";


          quote:
          Ansonsten:
          $eintrag = mysql_query(" update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]' ");
          => ich seh da keinen Unterschied zu meinem script
          $PHP resource 4ever$

          Kommentar


          • #6
            Weh dir schmalle, du Quote-Zerhäcksler!

            //OK or NOT OK Ausgabe von mysql
            $eintrag = mysql_query("update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]'");
            if (!$eintrag) {
            echo 'error, mySQL said: '.mysql_error().'<br>';
            } else {
            echo 'Alles ok.';
            }
            echo 'Query war: '.$eintrag.'<br>';


            quote:
            Ansonsten:
            $eintrag = mysql_query(" update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]' ");
            => ich seh da keinen Unterschied zu meinem script


            Ich weiß nicht... ich seh nirgendwo, dass $mtid gesetzt wird, $nummer aber sehr wohl.

            CAT Music Files

            Kommentar


            • #7
              ach, verdammte variablenschei.e!
              tut leid!!
              Die Variable heißt immer $nummer und nie $mtid! Ich vertue mich da andauern.

              Also nochmal mein derzeitiges Script:
              //nummer erzeugen NEU
              $lesen = mysql_query("select IDmm, DATEmm, TIMEmm from headrotation WHERE IDmm=LAST_INSERT_ID()");
              $row = mysql_result($lesen,0);
              $nummer = $row[IDmm].$row[DATEmm].$row[TIMEmm];
              $eintrag = mysql_query(" update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]' ");

              //OK or NOT OK Ausgabe von mysql
              $blubdisponr = mysql_query($eintrag);
              if (!$blubdisponr) {
              echo "error, mySQL said: '.mysql_error().'<br>";
              } else {
              echo "Alles ok.";
              }
              echo "Query war: '.$eintrag.'<br>";

              wenn ich das durchlaufen lasse dann beinhaltet die Spalte NUMMERmm immer "666" anstatt der kompletten Zahl.

              ich glaube,dass es an dieser Zeile happert weil vorher (wie die "." noch drinnen waren hat's gefunkt!):
              $nummer = $row[IDmm].$row[DATEmm].$row[TIMEmm];


              [Editiert von Metallica am 22-11-2001 um 14:10]
              $PHP resource 4ever$

              Kommentar


              • #8
                $eintrag = mysql_query(" update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]' ");

                //OK or NOT OK Ausgabe von mysql
                $blubdisponr = mysql_query($eintrag);
                if (!$blubdisponr) {
                [...]


                Nicht so, damit führst das ja gleich zweimal aus!
                So muss es heißen:

                $eintrag = mysql_query("update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]'");

                //OK or NOT OK Ausgabe von mysql
                if (!$eintrag) {
                [...]

                CAT Music Files

                Kommentar


                • #9
                  $nummer = $row[IDmm].$row[DATEmm].$row[TIMEmm];

                  Und dieses Konstrukt ist zu 100% korrekt, wieso sollte es auch nur dann funktionieren, wenn noch irgendwelche Strings dazwischen sind?
                  Kannst ja mal testen:

                  echo '$row[IDmm]: '.$row[IDmm];
                  echo '<br>$row[DATEmm]: '.$row[DATEmm];
                  echo '<br>$row[TIMEmm]: '.$row[TIMEmm];
                  $nummer = $row[IDmm].$row[DATEmm].$row[TIMEmm];
                  echo '<br>Zusammengesetzt: '.$nummer;

                  CAT Music Files

                  Kommentar


                  • #10
                    OK. Hab's nochmal genau durchgeschaut und einen Fehler ausgebessert.
                    Hab die {}Klammern übersehen.

                    der OrigCode sieht jetzt so aus:
                    $lesen = mysql_query("select IDmm, DATEmm, TIMEmm from headrotation WHERE IDmm=LAST_INSERT_ID()");
                    while($row = mysql_fetch_array($lesen))
                    { $nummer = $row[IDmm].$row[DATEmm].$row[TIMEmm];
                    $eintrag = mysql_query(" update headrotation set NUMMERmm='$nummer' where IDmm='$row[IDmm]' ");
                    }


                    Der DB-Eintrag sieht folgendermaßen aus:
                    ID_DATE_______TIME_____NUMMER
                    4__22.11.2001_09:06:44_422.11.200109:06:44

                    Es stimmt zu 99%.
                    Die Spalte NUMMER müßte nur so aussehen:
                    422112001090644
                    $PHP resource 4ever$

                    Kommentar


                    • #11
                      hmm,

                      $nummer = str_replace(".","",$nummer);



                      ersetzt in $nummer alle "." durch ""

                      $nummer = str_replace(":","",$nummer);

                      und die doppelpunke noch weg usw. bis keine fremden mehr drin sind.

                      Kommentar


                      • #12
                        Yeppppppppppp, es funkt. So muss das aussehen.

                        DANKE EUCH BEIDEN! (im speziellen Sky)
                        $PHP resource 4ever$

                        Kommentar


                        • #13
                          Wofür brauchst du die Nummer?

                          CAT Music Files

                          Kommentar


                          • #14
                            ich code-zerhächsler????

                            sorry, in meinem wahn habe ich versucht um sieben ecken zu denken. hat wohl nicht geklappt
                            h.a.n.d.
                            Schmalle

                            http://impressed.by
                            http://blog.schmalenberger.it



                            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                            ... nur ohne :-)

                            Kommentar

                            Lädt...
                            X