2016-05-22 10 views
1

Ich versuche, die Anzahl der Zeilen in einer Tabelle mithilfe der Funktion zählen zählen. Ich habe derzeit 5 Zeilen in der Tabelle in Frage. Die Zählfunktion zählt jedoch nur 1 Reihe. Warum ist das? Irgendwelche Vorschläge.Count-Funktion zählt nicht alle Zeilen in db-Tabelle

$count_pcode = mysqli_query($dbc, "SELECT COUNT(*)FROM Delivery_Pcode"); 
$count_row =mysqli_num_rows($count_pcode); 
printf("%d results.\n",$count_row); 
mysqli_free_result($count_pcode); 
mysqli_close($dbc); 
+6

Bei einer Zählung wird nur eine Zeile zurückgegeben. der in dieser Zeile zurückgegebene Wert enthält den Zählwert –

+0

Mögliches Duplikat von [count und fetch rows in php] (http://stackoverflow.com/questions/2721023/count-and-fetch-rows-in-php) – Alex

Antwort

1

Versuchen Sie Folgendes:

$count_pcode = mysqli_query($dbc, "SELECT * FROM Delivery_Pcode"); 
$count_row = mysqli_num_rows($count_pcode); 
+2

Brilliant. Lassen Sie uns die gesamte Tabelle von MySQL nach PHP zurückgeben, was möglicherweise beträchtliche CPU-, RAM- und Netzwerkbandbreite erfordert - nur um eine einfache Ganzzahl zu erhalten. Fantastische Arbeit! Gut gemacht. – eggyal

+2

@eggyal beruhige dich, Junge. Wir geben ihm beide die Antwort, die er wollte. –

+0

Brillant! Danke, dass das funktioniert – Blue

2

Ändern Sie einfach die erste Zeile:

$count_pcode = mysqli_query($dbc, "SELECT * FROM Delivery_Pcode"); 

Die nächste Codezeile wird dann sagen, wie viele Zeilen Ihrer Anfrage Rückkehr

$count_row =mysqli_num_rows($count_pcode); 
+0

Verdammt, Sie wetten mich um 20s xD –

+1

Brilliant. Lassen Sie uns die gesamte Tabelle von MySQL nach PHP zurückgeben, was möglicherweise beträchtliche CPU-, RAM- und Netzwerkbandbreite erfordert - nur um eine einfache Ganzzahl zu erhalten. Fantastische Arbeit! Gut gemacht. – eggyal

+3

Wenn Sie die ursprüngliche Abfrage unverändert lassen, können Sie die nächste Zeile in '$ count_row = $ count_pcode-> fetch_row() [0] ändern;' und das gewünschte Ergebnis erhalten, ohne die gesamten Daten im Re-Cord-Set zurückzugeben. –

2

Dieser Code sollte die Anzahl zählen von Reihen, und tun Sie so effizient.

$result = mysql_query($dbc, "SELECT COUNT(*)FROM Delivery_Pcode"); 

// Verify it worked 
if (!$result) echo mysql_error(); 

$row = mysql_fetch_row($result); 

// Should show you an integer result. 
print_r($row); 

mysqli_free_result($result); 
mysqli_close($dbc); 
Verwandte Themen