2016-11-23 6 views
-1

Mysqlは私のレコード数を50000 と表示しますが、count($results);をチェックすると、結果が空であることが示されます。PHPの数が動作しない

これは奇妙です。私が結果セットをトラバースすると、私は50000レコードもループしています。

だから私は考えている:

  • 1)私が扱うことができます)(カウントレコードの最大量の上に行くのだろうか?
  • 2)カウントの代わりに使用できる別の関数がありますか?以下は

私のコードです:

<?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:私は、クエリを実行したとき、私は50000件のレコードを取得します。 PHPでは、50000の配列結果を返すので、これは正常に動作しています。しかし、PHPのcount($result);は私に何も与えません、50000の代わりに空の結果を示しています。

+0

コードを見ずにわかりません。通常、mysqlとcountの両方は信頼できます。 –

+0

1) 'count'の最大サイズはあなたのシステム上の数字の最大サイズです。これは、あなたのRAMをオーバーフィルするリモートでさえも配列があるので決して届きません。 2)いいえ、なぜそこにすべきですか? 3)あなたの質問は**まさに**ですか?あなたの問題が何であるかを理解することは難しいです。 ** [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)**を見て、あなたの投稿を編集してください。 –

+0

コードを表示してください。エラーがクエリに含まれている可能性があります。 – RST

答えて

0

Kohana DBクエリ結果は、countメソッドを提供します。これを試してください:

0

データベースから結果を得るためにクエリを書くのは間違いですが、それ以外の場合は常にデータベースから戻ってくる行の数がカウントされます。