ホームページ >データベース >mysql チュートリアル >PHP で PDO を使用して行を数える最も効率的な方法は何ですか?
PHP で PDO を使用して行数を取得する最適な方法の決定は、依然として議論の対象です。この記事では、代替アプローチを検討し、効率的なソリューションを求めるプログラマにガイダンスを提供します。
実際のデータにアクセスする必要がないシナリオの場合は、データベース中心のアプローチをお勧めします。このメソッドを使用すると、データベースは行カウントを実行し、数値のみを返します。次のコードは、このアプローチの例を示しています。
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
また、データ自体も取得される場合は、PDStatement::rowCount() を使用して行数を取得できます。この方法は、MySQL のバッファされたクエリ (デフォルトで有効) で効果的に機能します。
ただし、PDStatement::rowCount() のみに依存することは、他のデータベースでは保証されません。 PDO ドキュメントによると:
「ほとんどのデータベースでは、PDOStatement::rowCount() は SELECT ステートメントの影響を受ける行数を返しません。」
この制限を克服するには、ドキュメントPDO::query() を使用して SELECT COUNT(*) ステートメントを発行し、次に PDStatement::fetchColumn() を使用して目的のデータを取得することを提案します。 value.
最後に、変数プレースホルダーのない単純なクエリの場合、PDO::query() を直接使用できます:
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
以上がPHP で PDO を使用して行を数える最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。