2015-04-26 157 views
0

有許多相互衝突的聲明,在PHP中使用PDO進行行計數的最佳方式是什麼?在使用PDO之前,我只是簡單地使用了mysql_num_rows。如何獲得php中的行值的計數pdo

fetchAll是我不想要的東西,因爲我有時可能會處理大型數據集,所以不適合我的使用。

有什麼建議嗎?

+0

http://php.net/manual/en/pdostatement.rowcount.php – PHPMan

+0

你有沒有設法得到一個答案這個 – chapskev

回答

2

在MySQL $ stmt-> rowCount時();不工作。試試這個

$nRows = $pdo->query('select count(*) from yourTable')->fetchColumn(); 
echo 'Number of rows is = '. $nRows; 

下面是關於同一個評論和答覆的摘錄。看看它非常足智多謀。

mysql_num_rows()工作是因爲它在內部獲取所有行以提供該信息,即使它看起來不像你。請參閱本anwere

所以在PDO,你的選擇是:

  1. 使用MySQL的FOUND_ROWS()函數。
  2. 使用PDO的fetch_all()函數將所有行提取到數組中,然後使用count()。
  3. 做一個額外的查詢SELECT COUNT(*),

https://stackoverflow.com/a/883523/2536812