ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して MySQL 行を効率的にカウントするにはどうすればよいですか?
質問:
テーブル内の行数をカウントするにはどうすればよいですか? MySQLテーブルを使用するPHP?
答え:
PHP を使用して MySQL テーブルの行数を取得するには、次のメソッドを利用できます:
手続きコード:
以下に従ってください手順:
COUNT(*) 関数を使用して SQL クエリを準備します:
$sql = "SELECT COUNT(*) FROM news";
を使用してクエリを実行しますmysqli_query():
$result = mysqli_query($con, $sql);
mysqli_fetch_assoc() を使用して結果を連想配列としてフェッチします:
$count = mysqli_fetch_assoc($result);
の値にアクセスします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 サイトの他の関連記事を参照してください。