我想affected_row
s返回最後一個查詢中的受影響行數(例如,UPDATE
)和num_rows
結果集中行的數量(例如SELECT
)。什麼是PHP PDO中的等效函數mysqli :: afftected_rows和mysqli_result :: num_rows?
我應該在PDO中使用什麼?
PDOStatement::rowCount
返回該語句中影響的行數,但對於大多數數據庫不返回受SELECT
影響的行數。
我想affected_row
s返回最後一個查詢中的受影響行數(例如,UPDATE
)和num_rows
結果集中行的數量(例如SELECT
)。什麼是PHP PDO中的等效函數mysqli :: afftected_rows和mysqli_result :: num_rows?
我應該在PDO中使用什麼?
PDOStatement::rowCount
返回該語句中影響的行數,但對於大多數數據庫不返回受SELECT
影響的行數。
提到如果由相關PDOStatement對象執行的最後一條SQL語句 SELECT語句,有些數據庫可能返回行 數量該聲明返回。但是,對於所有數據庫,此行爲不保證 ,不應依賴便攜式 應用程序。
匹配的行數可以通過預先SQL_CALC_FOUND_ROWS
作爲MySQL的文檔中所述的FOUND_ROWS
已經有相關related answer被迫通過Paul Dixon解釋一些細節
相當於affected_rows的: rowCount時() http://php.net/manual/de/pdostatement.rowcount.php
如果你想選擇的行數,執行數()。
另外,作爲參考: PHP PDO - Num Rows
我無法執行,如果一個COUNT(*)語句已經執行。我正在爲PDO編寫一個包裝器,並且我需要傳遞一個語句作爲輸入的函數「numRows」。 – TheDeveloper
@TheDeveloper你不需要它。這個功能是無用的。 –
如果我有一個「存儲」類是單例,並且可以存儲到數據庫(所以它將使用PDO),但可以存儲到文件(因此它將使用文件)等等,這是有用的。用戶使用我的課程,只打電話「保存/加載」,我將使用PDO /文件/其他取決於我正在使用的。 – TheDeveloper
我只有執行後的聲明。 – TheDeveloper
@TheDeveloper,但您可以在之後執行'FOUND_ROWS()' – rkosegi