如何在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;
避免使用 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中文網其他相關文章!