MySQLi 中的Count(*) 函數錯誤計數
在MySQLi 中執行COUNT(*) 查詢時,使用者可能會遇到意外行為,其中無論實際表大小如何,結果始終返回1。 MySQLi 和 phpMyAdmin 之間的這種差異可能令人困惑。
調查與解決方案
出現不符是因為 MySQLi 將 COUNT(*) 結果表示為單行記錄集。要存取實際計數,必須使用 fetch_row() 方法取得結果。
因此,使用MySQLi 確定行數的正確方法是:
$result = $db->query("SELECT COUNT(*) FROM `table`"); $row = $result->fetch_row(); echo '#: ', $row[0];
在此修改後在程式碼中,沒有使用num_rows 屬性,因為結果是單行記錄集,因此其rowCount始終為1。而是使用 fetch_row() 方法來檢索儲存在記錄集第一列的實際計數。
以上是當表格有更多行時,為什麼 COUNT(*) 在 MySQLi 中回傳 1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!