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.
Wir können nicht sagen, ohne den Code zu sehen. Normalerweise sind sowohl mysql als auch count zuverlässig. –
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. –
Zeigen Sie Ihren Code. Der Fehler könnte in Ihrer Abfrage enthalten sein. – RST