ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して MySQL 行を効率的にカウントするにはどうすればよいですか?

PHP を使用して MySQL 行を効率的にカウントするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 09:23:10431ブラウズ

How to Efficiently Count MySQL Rows Using PHP?

PHP で MySQL テーブルから行数を取得する

質問:

テーブル内の行数をカウントするにはどうすればよいですか? MySQLテーブルを使用するPHP?

答え:

PHP を使用して MySQL テーブルの行数を取得するには、次のメソッドを利用できます:

手続きコード:

以下に従ってください手順:

  1. COUNT(*) 関数を使用して SQL クエリを準備します:

    $sql = "SELECT COUNT(*) FROM news";
  2. を使用してクエリを実行しますmysqli_query():

    $result = mysqli_query($con, $sql);
  3. mysqli_fetch_assoc() を使用して結果を連想配列としてフェッチします:

    $count = mysqli_fetch_assoc($result);
  4. の値にアクセスしますCOUNT(*) 列を使用して行を取得しますcount:

    echo $count['COUNT(*)'];

代替プロシージャ コード:

また、次のコードを使用して同じ結果を得ることができます:

$sql = "SELECT COUNT(*) AS cnt FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['cnt'];
echo $count;

数値の使用配列:

もう 1 つの方法は、結果を数値配列としてフェッチすることです:

$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
echo $count;

PHP 8.1 の使用 (簡略化):

PHP 8.1 を使用している場合は、次を使用してプロセスを簡素化できます。 mysqli_fetch_column():

$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);
echo $count;

オブジェクト指向スタイル (OOP):

OOP では、次のコードを使用してこれを実現できます:

$sql = "SELECT COUNT(*) FROM news";
$count = $con->query($sql)->fetch_row()[0];
echo $count;

準備されたものを使用するステートメント:

クエリで変数を使用する場合は、プリペアド ステートメントの使用を検討してください:

$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;

注意:

行には mysqli_num_rows を使用しないでください。一致するすべてのレコードを取得するときにカウントするため、非効率となる可能性があります。

以上がPHP を使用して MySQL 行を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。