drehe duch .. was ist da falsch ? :(

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

  • drehe duch .. was ist da falsch ? :(

    PHP-Code:
    <?


    function displayerror() { echo "Klappt nicht"; }

    function kontrolle($haustyp_end,$haustyp,$id)
    {
    if(time()>$haustyp_end && $haustyp_end!=0)
    {
    $result1="UPDATE buildings SET ".$haustyp."=1 WHERE dorfid='".$id."'";
    mysql_query($result1) or displayerror;
     }  }
    include("var.php");  
    $query1 = mysql_query("SELECT hf1_end,hf2_end,hf3_end,hf4_end,hf1,hf2,hf3,hf4,dorfid,account FROM buildings WHERE account='$id'") or displayerror();



     while($row5 = mysql_fetch_array($query1))
     {
     kontrolle($row5[hf1_end],$row5[hf1],$row5[dorfid]);
     kontrolle($row5[hf2_end],$row5[hf2],$row5[dorfid]);
     kontrolle($row5[hf3_end],$row5[hf3],$row5[dorfid]);
     kontrolle($row5[hf4_end],$row5[hf4],$row5[dorfid]);  }
    ?>
    das Teil funzr nicht gibt aber auch keine Fehler aus .. und die if Anweisungen sind 100% richtig !

  • #2
    mysql_query($result1) or displayerror;
    Wenn hier das query nicht geht passiert gar nichts.

    Bist Du denn sicher das die if abfrage auch erfüllt wird?
    Teste das mal mit einem einfach echo.
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      wo wird den $id definiert ? naja, wahrscheinlich in vars.php.
      was ist mit mysql_connect ? läuft es local ?
      meine Projekte bestaunen: http://www.kleiza.de

      Kommentar


      • #4
        jo läuft lokal (zur zeit) !
        Aber alles was bei mir lokal funzt funzte bisher auch online ....

        das ganze wird wird includet in eine andere Datei wo davor noch eine andere Datei includet wird , wo mit der DB erbunden wird ....

        Kommentar


        • #5
          PHP-Code:
          <?


          function displayerror() { echo "Klappt nicht"; }

          function kontrolle($haustyp_end,$haustyp,$id,$text)
          {
          if(time()>$haustyp_end && $haustyp_end!=0 && $haustyp==0)
          {
          print "$text <br> $id <br> $haustyp <br> $haustyp_end";
          $result1="UPDATE buildings SET ".$haustyp."=1 WHERE dorfid='".$id."'";
          mysql_query($result1) or die("Fehler");
           }  }
          include("var.php");  
          $query1 = mysql_query("SELECT hf1_end,hf2_end,hf3_end,hf4_end,hf1,hf2,hf3,hf4,dorfid,account FROM buildings WHERE account='$id'") or displayerror();



           while($row5 = mysql_fetch_array($query1))
           {
           kontrolle($row5[hf1_end],$row5[hf1],$row5[dorfid],1);
           kontrolle($row5[hf2_end],$row5[hf2],$row5[dorfid],2);
           kontrolle($row5[hf3_end],$row5[hf3],$row5[dorfid],3);
           kontrolle($row5[hf4_end],$row5[hf4],$row5[dorfid],4); 
           }
          ?>
          Habe jetzt or die("Fehler"); eigebaut und genau das kommt auch ....
          Möche eccht zu gerne wissen wasd a falsch sein könnte

          Ich kann mir das nicht mehr erklären ....

          Kommentar


          • #6
            amch mal or die(mysql_error());
            Dann wirste sehen was falsch ist.
            Ausserdem ist haustyp bei Dir 0????
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Hab ich gemacht und bekomme folgenden fehler :

              You have an error in your SQL syntax near '0=1 WHERE dorfid='55'' at line 1

              Weiß jemand was das zu bedeuten hat ???


              P.S. $haustyp ist 0 - das ist schon richtig so

              Kommentar


              • #8
                Ja eine Spalte in MySQL darf nicht 0 heissen oder hast DU das hinbekommen?
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  natürlich ... ich hab das Script ja auch anders schon in Gebrauchgehabt und da updated er wunderbar

                  Bloß wurde da die ganze whileschleife weggelassen .

                  Nur so zur Info : Das sind Spalten in der Tabbel vom Typ tinyint(4)

                  Kommentar


                  • #10
                    Hm, ok...
                    poste mal Deine Tabelle und erklär mal was Du drin haben willst...
                    Du kannst zwar ein Feld 0 nennen aber irgendwie nicht richtig damit arbeiten...
                    Vielleicht solltest Du einfach die Felder umbenennen
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      wenn dorfid auch tinyint is oder irgendwas anderes zahlenähnliches, dann mach aus
                      PHP-Code:
                      WHERE dorfid='".$id."' 
                      mal das hier
                      PHP-Code:
                      WHERE dorfid=$id 
                      (also ohne die ')
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Das wir nicht aneinander vorbeireden : Der Inhalt der felder ist die Zahl 0

                        wird auch so eingegeben . Bringts was wenn ich einfach alle wert um eins hochschraube ? also am Anfang 1 und dann auf 2 updaten ?

                        Kommentar


                        • #13
                          der inhalt der felder?

                          sql läuft doch so afaik: WHERE feldname=wert oder nich?

                          wenn du where 0=1 stehen hast, sucht er (der herr mySQL) ein feld mit namen 0!

                          -
                          edit: Kannst ja mal mit phpmyadmin nen eintrag deiner tabelle ändern und dir das generierte sql-statement anschauen und anpassen. so hab ich angefangen als ich angesichts der vielen befehle leicht geschockt war
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            whhaa .... nein

                            das ist so :

                            Ein neuer datensatz wird in die DB eingefügt :

                            Ich habe Tabelle buildings mit den Feldern hf1,hf2,hf3,hf4,hf1_end,hf2_end usw.
                            In jedes feld davon wird der wert 0 eingefügt (als Zahl ).

                            so .. und wenn dann die Funktion richtig laufen würde ,d ann würde wert auf 1 geupdated werden

                            Kommentar


                            • #15
                              PHP-Code:
                              where hf1=
                              sucht einen eintrag, bei dem im feld hf1 eine 1 steht.

                              PHP-Code:
                              where 0=
                              sucht einen eintrag, bei dem im (nicht vorhanden und nicht zulässigen) feld 0 eine 1 steht => ergo kann die update anweisung nich funktionieren.

                              wobei ich immernoch der meinung bin, dass es auch an den hochkommata (schreibt man das so?) bei dem wert für dorfid liegt (is zumindest bei mir so afair)

                              jetzt wäre aber echt der moment nach nem tabledump zwecks kennenlernen der struktur zu fragen
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X