首頁 > 後端開發 > php教程 > 如何使用 PHP 有效率地計算 MySQL 表中的行數?

如何使用 PHP 有效率地計算 MySQL 表中的行數?

Mary-Kate Olsen
發布: 2024-12-03 02:21:09
原創
751 人瀏覽過

How to Efficiently Count Rows in MySQL Tables Using PHP?

如何在PHP 中從MySQL 表中檢索行計數

您的PHP 程式碼,旨在計算MySQL 表中的行數並儲存結果$count,遇到了困難。在本文中,我們將探討如何使用 PHP 的過程式風格有效地實現此目的。

過程行計數

要取得行數,請考慮對您的程式碼:

$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['COUNT(*)'];
echo $count;
登入後複製

在此版本中,我們透過從中選擇適當的欄位來直接存取COUNT(*) 的結果mysqli_fetch_assoc() 傳回的關聯數組。

替代方法

除了上述方法之外,這裡還有一些其他選項:

  • 使用列別名:
$sql = "SELECT COUNT(*) AS cnt FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['cnt'];
echo $count;
登入後複製
  • 使用數值數組:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
echo $count;
登入後複製
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);
echo $count;
登入後複製
PHP 8.1和稍後:

避免使用 mysqli_num_rows

與流行的建議相反,mysqli_num_rows 不應該用於行計數。它會檢索所有匹配的記錄,這可能效率低且佔用資源。

參數化查詢的準備語句
$sql = "SELECT COUNT(*) FROM news WHERE category=?";
$stmt = $con->prepare($sql);
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
echo $count;
登入後複製
如果您的查詢涉及動態變量,請考慮使用準備語句:

以上是如何使用 PHP 有效率地計算 MySQL 表中的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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