2017-09-27 154 views

回答

0

它在official documentation

提到如果由相關PDOStatement對象執行的最後一條SQL語句 SELECT語句,有些數據庫可能返回行 數量該聲明返回。但是,對於所有數據庫,此行爲不保證 ,不應依賴便攜式 應用程序。

匹配的行數可以通過預先SQL_CALC_FOUND_ROWS作爲MySQL的文檔中所述的FOUND_ROWS

已經有相關related answer被迫通過Paul Dixon解釋一些細節

+0

我只有執行後的聲明。 – TheDeveloper

+1

@TheDeveloper,但您可以在之後執行'FOUND_ROWS()' – rkosegi

0

相當於affected_rows的: rowCount時() http://php.net/manual/de/pdostatement.rowcount.php

如果你想選擇的行數,執行數()。

另外,作爲參考: PHP PDO - Num Rows

+0

我無法執行,如果一個COUNT(*)語句已經執行。我正在爲PDO編寫一個包裝器,並且我需要傳遞一個語句作爲輸入的函數「numRows」。 – TheDeveloper

+1

@TheDeveloper你不需要它。這個功能是無用的。 –

+0

如果我有一個「存儲」類是單例,並且可以存儲到數據庫(所以它將使用PDO),但可以存儲到文件(因此它將使用文件)等等,這是有用的。用戶使用我的課程,只打電話「保存/加載」,我將使用PDO /文件/其他取決於我正在使用的。 – TheDeveloper