2016-11-23 3 views
-1

Mysql zeigt meine Datensatzanzahl als 50000 , aber wenn ich überprüfe count($results); Es zeigt mein Ergebnis als leer.PHP-Zählung funktioniert nicht

Das ist seltsam, denn wenn ich die Ergebnismenge traversiere, durchlaufe ich auch 50000 Datensätze.

So dachte ich:

  • 1) Bin ich über die maximale Anzahl von Datensätzen() verarbeiten kann Zählung gehen?
  • 2) Gibt es eine andere Funktion, die ich anstelle von count verwenden kann?

Unten ist mein Code:

<?php 


$query = "SELECT 
    *, 
    pl.user_id 
FROM 
    passengers_log as pl 
    join 
     tabel2 as t2 
     ON t2.id = t1.id 
    Join 
     tabel3 as t3 
     ON t3.id = t2.id 
    Join 
     tabel4 as t4 
     ON t4.id = t3.id 
    Join 
     tabel5 as t5 
     ON t5.id = t4.id 
    Join 
     tabel6 as t6 
     ON t6.id = t5.id 
    Join 
     tabel7 as t7 
     ON t7.id = t6.id 
WHERE 
    pl.status = '1' 
    and pl.reply = 'A' 
    and pl.createdate >= '2016-11-01 00:00:00' 
    and pl.createdate <= '2016-11-23 14:19:41' 
order by 
    pl.passengers_log_id desc"; 
$results = Db::query(Database::SELECT, $query)->execute()->as_array(); 

print_r($results);//returns 50000 
count($results);//it returns empty results 
?> 

PS: I 50000 Datensätze erhalten, wenn ich die Abfrage ausgeführt wird. In PHP gibt es 50000 Array-Ergebnisse zurück, also funktioniert das gut. Aber in php count($result); gibt mir nichts, statt 50000 zeigt es ein leeres Ergebnis.

+0

Wir können nicht sagen, ohne den Code zu sehen. Normalerweise sind sowohl mysql als auch count zuverlässig. –

+0

1) Die maximale Größe von "count" ist die maximale Größe einer Zahl auf Ihrem System, die Sie nie erreichen werden, weil jedes Array, das auch nur annähernd so groß ist, Ihren RAM überfüllen würde. 2) Nein, und warum sollte es da sein? 3) Was genau genau ist deine Frage? Es ist schwer zu verstehen, was dein Problem ist. Bitte sieh dir ** an (wie du eine gute Frage stellst) (http://stackoverflow.com/help/how-to-ask) ** und bearbeite deinen Post entsprechend. –

+0

Zeigen Sie Ihren Code. Der Fehler könnte in Ihrer Abfrage enthalten sein. – RST

Antwort

0

Kohana DB Abfrageergebnis bietet eine count Methode. Versuchen Sie folgendes:

0

Möglicherweise machen Sie einen Fehler für das Schreiben von Abfrage, um das Ergebnis aus der Datenbank zu erhalten, andernfalls zählt immer die Anzahl der Zeilen, die aus der Datenbank zurückgegeben werden.

Verwandte Themen