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 サイトの他の関連記事を参照してください。