mysql_fetch_array Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
benutzer
code
datei
datensatz
funktion
glauben
klammern
limit
log
login
not
nutzen
ordern
problem
setzen
spalte
statistik
string
zahl
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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."<br />"; } ?>
Übrigens kannst du dir bei der Abfrage von nur einem Datensatz (Limit 1) das while sparen.
Gruß, Prog -
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
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 -
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 -
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 ;)
-
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 -
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 ^^ -
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 ^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage