在使用MySQLi 統計MySQL 表的行數時,你可能會遇到一個奇怪的現象,$result -> ;num_rows 始終報告計數為1。讓我們研究一下正確的方法。
問題在於 MySQLi 如何處理 COUNT(*) 查詢的結果。與包含一組行的普通查詢的結果不同,COUNT(*) 會傳回包含計數的單行和單列。
要準確檢索此計數,您需要取得單行從結果集中。以下程式碼示範了正確的用法:
透過取得第一行(也是唯一的)行並存取其第一列,您可以獲得正確的計數。使用 $result->num_rows 將始終傳回 1,因為它表示結果集中的行數,對於 COUNT(*) 查詢,該行數為 1。
請記住,對於結果包含多行的普通查詢,使用 $result->num_rows 是合適的。但是,對於 COUNT(*) 查詢,請務必遵循上述模式來擷取實際計數。
以上是為什麼MySQLi的count(*)在計算表行數時回傳1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!