wie print mysql_num_rows?
ich habe eine Datenbank-Struktur wie diese
und versuche zu drucken, die Zeilen zählen
aber bin immer nur 1
den code verwende, ist
$sql="select Count(*) from uniqueviews where hour=13"; $result=mysql_query($sql); $ml=mysql_num_rows($result); echo $ml;
gemäß der Abfrage
es sollte print 6
aber der Druck 1
wo falsch mache ?
ich denke, die Zählung der Zeilen ?
wie kann ich drucken Sie das Ergebnis nach Zeilen zählen ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Count(*)
gibt nur eine Zeile, die die Anzahl der Zeilen. Das ist, warum Sie erhalten nur1
als Rückgabewert. Wenn Sie möchten, dass der tatsächliche Wert ist, können Sie entweder:oder so:
Sind Sie tatsächlich drucken die Anzahl der Zeilen, die die Abfrage zurückgegeben hat.seit Sie zählt das Ergebnis .Sie verwenden sollten, mysql_fetch_array statt, um das Ergebnis Ihrer Abfrage.
oder Sie ersetzen können count(*) von * aus der Abfrage und es sollte geben Sie das richtige Ergebnis
Ihnen fehlt etwas.
Wenn Sie
my_sql_num_rows($result)
es wird nur der Bildschirm insgesamt zurückgegebenen Zeilen und, in dieser Logik, das Ergebnis nur eine Zeile ist völlig korrekt (count(*)
wird wieder nur eine Zeile).Wenn Sie möchten, um die Logik, nicht mit
count
in Ihre sql-Abfrage, nuroder wenn Sie wollen, um die sql-Abfrage, ändern Sie die Art und Weise des Holens Ergebnis:
Es werden nur die zählen, dh nur eine einzige Zeile ..
Wenn Sie wollen, um das Ergebnis der Abfrage ie Gesamtzahl
dann einige Sache wie diese
Versuchen Sie dies:
Num Zeilen von der Abfrage zurückgegebenen ist immer 1, da nur 1 Datensatz zurückgegeben - Datensatz mit der Anzahl der Zeilen aus, die Sie wählen.
Ersetzen:
Mit:
Dann verwenden mysql_num_rows.
Aber Sie sollten Rückgabewert von count(), mysql_num_rows ist nicht für Operationen wie diese.