ホームページ > バックエンド開発 > PHPチュートリアル > PHP の PDO で行数を取得する最適なアプローチは何ですか?

PHP の PDO で行数を取得する最適なアプローチは何ですか?

Mary-Kate Olsen
リリース: 2024-12-23 19:39:21
オリジナル
360 人が閲覧しました

What's the Optimal Approach to Getting a Row Count with PDO in PHP?

PDO を使用した行数: 最適なアプローチ

PHP で PDO を使用して行数を取得することは、さまざまな方法で実現できます。ただし、最適なアプローチは、特定のユースケースとデータ サイズの考慮事項によって異なります。

データ自体ではなく行数のみが必要な場合は、「SELECT count(*)」クエリを使用することをお勧めします。コード例は次のとおりです。

$sql = "SELECT count(*) FROM `table` WHERE foo = ?";
$result = $con->prepare($sql);
$result->execute([$bar]);
$number_of_rows = $result->fetchColumn();
ログイン後にコピー

取得したデータとともに行数が必要なシナリオのために、PDO は PDOStatement::rowCount() メソッドを提供します。ただし、異なるドライバー間での信頼性は保証されません。 PDO ドキュメントによると:

「ほとんどのデータベースでは、PDOStatement::rowCount() は SELECT ステートメントの影響を受ける行数を返しません。代わりに、PDO::query() を使用して、 SELECT COUNT(*) ステートメント...その後、PDOStatement::fetchColumn() を使用して、返される行数を取得します。"

そのような場合、 PDO::fetchAll() 関数を使用してデータを配列に取得し、count() を使用して行数を決定できます。

$data = $pdo->fetchAll();
$number_of_rows = count($data);
ログイン後にコピー

または、クエリが単純で、変数を利用しない場合は、query() 関数を直接使用できます:

$nRows = $pdo->query('select count(*) from blah')->fetchColumn();
echo $nRows;
ログイン後にコピー

以上がPHP の PDO で行数を取得する最適なアプローチは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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