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

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

Linda Hamilton
リリース: 2024-12-06 19:03:12
オリジナル
816 人が閲覧しました

How to Accurately Count MySQL Rows Using PHP?

PHP を使用して MySQL テーブルから正確な行数を取得する方法

MySQL テーブル内の行数を取得することは、データベースの扱い。 PHP では、特に手続き型コードを好むユーザー向けに、このためのオプションをいくつか提供しています。

エラー:

よくあるエラーの 1 つは、数値の代わりに「配列」という単語を取得することです。 。これは、連想配列を返す mysqli_fetch_assoc() を使用するときに発生します。

解決策 1: 配列インデックスの使用

これを解決するには、列名に対応する配列インデックスにアクセスします。 。例:

$count = mysqli_fetch_assoc($result)['COUNT(*)'];
ログイン後にコピー

解決策 2: 列エイリアスの使用

または、SQL クエリで count 列のエイリアスを指定できます:

$sql = "SELECT COUNT(*) AS cnt FROM news";
$count = mysqli_fetch_assoc($result)['cnt'];
ログイン後にコピー

解決策 3: 数値を使用する配列

別のオプションは、mysqli_fetch_row() を使用して数値配列を取得することです。

$count = mysqli_fetch_row($result)[0];
ログイン後にコピー

PHP 8.1 最適化

を使用している場合PHP 8.1 以降では、操作:

$count = mysqli_fetch_column($result);
ログイン後にコピー

mysqli_num_rows の使用を避ける

mysqli_num_rows を使用したくなるかもしれませんが、この関数には重大な制限があるため、行をカウントする場合は避けるべきです。

おっとアプローチ

オブジェクト指向プログラミングを好む人は、同じコードを次のように記述できます:

$count = $con->query($sql)->fetch_row()[0];
ログイン後にコピー

準備されたステートメント

変数を含むクエリを使用する場合は、セキュリティと効率を向上させるためにプリペアド ステートメントを使用する必要があります:

$stmt = $con->prepare("SELECT COUNT(*) FROM news WHERE category=?");
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
ログイン後にコピー

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

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