ホームページ > バックエンド開発 > 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 テーブルから行数を取得する方法

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;
ログイン後にコピー
  • PHP 8.1そして後で:
$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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート