2014-01-25 28 views
-1

我正在使用一種腳本,它具有對我習慣的做mySQL查詢的不同方式。它始於:MySQL查詢中的行數

$query = $db->query("SELECT * etc ..... "); 

然後

while ($result = $db->fetchArray($query)) { 

與變量顯示爲$result['a']$result['b']。等

所有我想要做的就是計算行數即由查詢選擇,但mysql_num_rows不上$result工作。

我可以用什麼來代替?

回答

0

您可以查詢更改爲:

SELECT count(*) as cnt etc ..... 

然後讀取結果從查詢回來。

1

可以使用計數功能count the rows

$query = $db->query("SELECT count(*) as count from (SELECT * etc ..... ) as sq "); 
$result = $db->fetchArray($query); 
echo $result['count']; 
+0

這似乎後1行停止查詢。可能是因爲查詢有INNER JOIN?我希望在完成查詢後計算行數。 – TrapezeArtist

+0

@TrapezeArtist請參閱更新 – Musa

+0

它仍然不適合我。因爲我在mySQL查詢的所有行中都有一個while循環,所以我選擇在每次循環運行時將$ count加1,然後在最後顯示$ count。不優雅,但它的作品。 – TrapezeArtist