kostenloser Webspace werbefrei: lima-city


mysql_fetch_array Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    Hi, ich hab da ein Problem mit einem PHP Script:

    <?
    $logins = mysql_query("SELECT * FROM `registry` ORDER BY `logins` limit = '1';");
    while($login = mysql_fetch_array($logins)){
    $log = $login['handle']($login['logins']);
    
    echo $log."<br />";
    }
    ?>


    Und das liefert eben diesen Error aus:
    supplied argument is not a valid MySQL result resource


    Nur weiss ich nicht was genau an dem query in $logins falsch ist, denn
    von dem geht doch mysql_fetch_array aus, oder täusche ich mich da?!


    Beitrag geändert: 6.1.2009 10:09:11 von sy
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das Problem ist, dass du das Limit nicht in Anführungszeichen setzen darfst, und das = Zeichen weg muss. Das ist kein String sondern ein Integer ( Ganzzahl).

    Also:


    <?php
    $logins = mysql_query("SELECT * FROM `registry` ORDER BY `logins` LIMIT 1");
    while($login = mysql_fetch_array($logins)){
    $log = $login['handle']($login['logins']);
    
    echo $log."&lt;br /&gt;";
    }
    ?>



    Übrigens kannst du dir bei der Abfrage von nur einem Datensatz (Limit 1) das while sparen.

    Gruß, Prog
  4. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    erstmal danke für die schnelle antwort,
    Aber jetzt kommt ein etwas doofer error

    Fatal error: Call to undefined function benutzer() in


    und benutzer ist eigentlich ein user mit den glaube ich wenigsten logins :confused:
    Wieso nimmt php denn den handle als function

    Edit:: OK vllt. sollte ich das mit dem wenigsten/meisten logins mit ASC/DESC lösen
    Aber handle als function is mir nich erklärlich

    Beitrag geändert: 6.1.2009 11:30:27 von sy
  5. hä, ich verstehe dich gerade nicht ganz.

    Kannst du mal bitte ein bisschen Code posten. Dein Fehler sagt nur, dass es keine Funktion benutzer() gibt.

    das $handle braucht man doch nur bei Textdateien:
    $handle = fopen ("/home/rasmus/file.txt", "r");


    Gruß, Prog
  6. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    Naja,

    Die DB-Tabelle hat unter anderem die Spalte "handle" und das ist der user name.
    Und die Datei indem der gepostete code ist, ist eine statistik. Darin soll auch stehen welcher User die meisten logins hat.
    Darum $login['handle'] man könnte auch $row['handle'] nehmen.

    Mehr Code is nich glaube, ausser die config datei mit mysql verbindung

    Beitrag geändert: 6.1.2009 12:02:43 von sy
  7. e********l

    Wieso nimmt php denn den handle als function

    Weil...

    $log = $login['handle']($login['logins']);

    ... dein Code da in zwei Klammern steht. Und das wird dann eben als Funktion interpretiert. Php hat so eine praktische Eigenschaft dynamische Funktionen nutzen zu können, die du da oben versehentlich versucht hast zu nutzen ;)
  8. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    Erstmal vielen vielen Dank dir!
    Aber er kommt mir so vor, als käme es nicht über die Zahl 99 hinaus.
    Denn es wird ausgegeben das derjenige, der die meisten logins haben soll, insgesamt 99 hat.
    Aber es gibt sogar User mit ca. 800 Logins.
    Hab ich da jetzt irgendwas falsch gemacht oder verstanden oder geht es nich über 99 o.o
  9. Ich würd sagen such erst mal ob überhaupt ein benutzer() function existiert.

    function benutzer()
    {
    ...
    }

    usw

    Aber mal echt. Ohne ein bissel Code können wir.. zumindest ich mir sehr schlecht vorstellen wie ich dir helfen kann ^^
  10. e********l

    sy schrieb:
    Erstmal vielen vielen Dank dir!
    Aber er kommt mir so vor, als käme es nicht über die Zahl 99 hinaus.
    Denn es wird ausgegeben das derjenige, der die meisten logins haben soll, insgesamt 99 hat.
    Aber es gibt sogar User mit ca. 800 Logins.
    Hab ich da jetzt irgendwas falsch gemacht oder verstanden oder geht es nich über 99 o.o

    Naja, wenn du nur die Logins zählen willst, dann würde ich gänzlich die SQL umschreiben. Mach ein Count() drauf und ein Group By auf die UserID.
    Das ist wesentlich komfortabler ^^
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!