Ankündigung

Einklappen
Keine Ankündigung bisher.

Script versteht > und < nicht richtig

Einklappen

Neue Werbung 2019

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

  • Script versteht > und < nicht richtig

    Hallo,

    mein Script:

    PHP-Code:
    $query mysql_query("SELECT *, SUM(`times`) as amount FROM vote WHERE account='$account' OR ip='$ip'"); 
    $lasttime mysql_fetch_array($query); 
    $maxtime 10;
    if (
    $lasttime $maxtime) {
    echo 
    'hallo';
    } else { 
    Anderes Script
    PHP-Code:

    gibt mir immer ein hallo aus. Selbst wenn $lasttime 1 oder 2 ist

    Weis jemand evt was ich da falsch mache?

    Danke für eure hilfe im vorraus

  • #2
    Schau dir doch einfach mal an, was dein fetch laut Doku so zurueck gibt.

    Gruß

    Claus
    Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

    Kommentar


    • #3
      Array :O

      Kommentar


      • #4
        ...und du vergleichst jetzt ob Array > 10 ist. Ein sehr vielsagender Vergleich... (Und bevor du jetzt die Länge des Arrays verwendest, schau bitte zuerst mit var_dump() was in deinem Array denn so drinnen ist.)

        Kommentar


        • #5
          ich bin einsteiger.. und kenne mich nur mit visual basic aus deswegen kommt es mir etwas unlogisch vor das das so nicht will ^^

          wie müsste ich es dann mit dem var_dump machen?

          LG

          Kommentar


          • #6
            Lerne das Handbuch zu benutzen. Dort steht meistens eine tolle Beschreibung und bei nicht-trivialen Funktionen auch ein Anwendungsbeispiel dabei. Die Kommentare sind auch sehr oft lesenswert.
            Und jetzt ab ans lernen: [MAN]mysql_fetch_array[/MAN] (da springt dich hoffentlich gleich die Warnung an, dass das veraltet ist) und [MAN]var_dump[/MAN].

            Kommentar


            • #7
              Ja aber ich verstehe das nicht. Und es ist ja nur das 1 Problem sonst würde der script komplett funktionieren :SSSSS

              LG

              Kommentar


              • #8
                Dann gibts zwei Möglichkeiten:
                a) kauf dir ein Einführungsbuch
                b) try harder.

                Bei einem Fehler auf 5 Zeilen stehst du bei einem Mini-Script schon 20x hier an der Tür...

                Kommentar


                • #9
                  nein das script ist schon fertig das ist ja der einzige fehler. ich wollte nur noch diesen check einbauen um betrug zu vermeiden. wenn jemand öfters als 10x votet also das über 10 steht dann soll das script einfach die meldung ausgeben.

                  LG

                  Kommentar


                  • #10
                    Dann fang an zu Debuggen. Dein Problem ist offensichtlich der if-Vergleich. Nun, $lasttime sagst du ist entweder 1 oder 2. Dann kanns ja nur noch an $maxtime liegen, den Inhalt davon kannst du dir, wie ich schon gesagt habe, mit var_dump() anschauen. Und da, prophezeie ich dir, steht nicht das drinnen, was du dir erwartest.

                    Kommentar


                    • #11
                      bleibt sich einerlei ... mysql_fetch_array liefert ein Array und das kannst du nicht sinnvoll "als ganzes" mit einem Integer vergleichen - du müsstest schon das spezifische Element des Arrays angeben, dass du mit dem Wert von $maxtime vergleichen willst - dazu kommt aber als kleine Komplikation, dass du per SELECT * ALLE Spalten der Datensätze ausliest - also dein Array $lasttime dürfte entsprechend viele Elemente haben - und wenn es um die Summe in der Spalte amount geht, würde ich an deiner Stelle exakt nur diese abfragen ... etwas hilfreicher wäre übrigens die Benutzung der *_fetch_assoc() Funktion und wenn du uns und DIR nen riesen Gefallen tun willst, dann vergisst du mysql_ gleich ganz schnell wieder, bevor du dich zu sehr dran gewöhnst und nimmst bitte mysqli oder gleich PDO , denn die uralte mysql_-Erweiterung ist wohl mit spätestens der nächsten veröffentlichten PHP-Version entgültig Geschichte
                      "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                      Kommentar


                      • #12
                        ich habe es nun so gelöst

                        PHP-Code:
                        $query mysql_query("SELECT *, SUM(`times`) as amount FROM vote WHERE account='$account' OR ip='$ip'"); 
                        $cccc mysql_query("SELECT (`times`) FROM vote where WHERE account='$account' OR ip='$ip'"); 
                        $lasttime mysql_fetch_array($query); 

                        $amount $lasttime['amount']; 
                        $insertnew false;     
                        if (
                        $amount == "") { 
                            
                        $insertnew true

                        list(
                        $DeinErgebniss) = mysql_fetch_array($cccc);
                        if (
                        $DeinErgebniss 8) { 
                                
                        echo 
                        'hallo'
                        } else { 
                        LG

                        Und bei mysqli einfach ein i drann oder ist das dann eine andere funktion?

                        Kommentar


                        • #13
                          Ich versteh dein code nicht.
                          und wieso brauchst du eingentlich "*"

                          Kommentar


                          • #14
                            Hmm mir macht er auch probleme :S Es ist schon wieder 5 Usern gelungen die Sperre zu umgehen und sich Geld zu erstellen -.-

                            Kommentar


                            • #15
                              Das SELECT * nimmt er sicher nur um seine Anwendung absichtlich langsamer zu machen, ist ja auch ein Grund o.O

                              Es ist schon wieder 5 Usern gelungen die Sperre zu umgehen und sich Geld zu erstellen
                              PHP-Code:
                              list($DeinErgebniss) = mysql_fetch_array($cccc);
                              if (
                              $DeinErgebniss 8) { 
                              Was mich bei dem Code-Horror nicht wundert....
                              The string "()()" is not palindrom but the String "())(" is.

                              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                              PHP.de Wissenssammlung | Kein Support per PN

                              Kommentar

                              Lädt...
                              X