首頁 > 後端開發 > php教程 > 為什麼MySQLi的count(*)在計算表行數時回傳1?

為什麼MySQLi的count(*)在計算表行數時回傳1?

Patricia Arquette
發布: 2024-11-07 13:37:03
原創
339 人瀏覽過

Why Does MySQLi's `count(*)` Return 1 When Counting Table Rows?

MySQLi 的count(*) 意外回傳1

在使用MySQLi 統計MySQL 表的行數時,你可能會遇到一個奇怪的現象,$result -> ;num_rows 始終報告計數為1。讓我們研究一下正確的方法。

問題在於 MySQLi 如何處理 COUNT(*) 查詢的結果。與包含一組行的普通查詢的結果不同,COUNT(*) 會傳回包含計數的單行和單列。

要準確檢索此計數,您需要取得單行​​從結果集中。以下程式碼示範了正確的用法:

透過取得第一行(也是唯一的)行並存取其第一列,您可以獲得正確的計數。使用 $result->num_rows 將始終傳回 1,因為它表示結果集中的行數,對於 COUNT(*) 查詢,該行數為 1。

請記住,對於結果包含多行的普通查詢,使用 $result->num_rows 是合適的。但是,對於 COUNT(*) 查詢,請務必遵循上述模式來擷取實際計數。

以上是為什麼MySQLi的count(*)在計算表行數時回傳1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板