當表格有更多行時,為什麼 COUNT(*) 在 MySQLi 中回傳 1?

Barbara Streisand
發布: 2024-11-10 08:04:02
原創
238 人瀏覽過

Why does COUNT(*) return 1 in MySQLi when the table has more rows?

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中文網其他相關文章!

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