PDO がデータベースに接続するときに結果セットの数を取得する方法
マニュアルを確認したところ、返される結果セットの数を計算するために PDO の mysql_num_rows のような関数が使用されていることがわかりません
rowCount が返すSQL ステートメントの実行によって影響を受ける行の数。 。 。
-----解決策---------
例 2 行を数えるSELECT ステートメントによって返される
ほとんどのデータベースでは、PDOStatement::rowCount() は SELECT ステートメントの影響を受ける行数を返しません。代わりに、PDO::query() を使用して SELECT COUNT( *) を発行します。 ) ステートメントに意図した SELECT ステートメントと同じ述語を指定し、PDOStatement::fetchColumn() を使用して返される行数を取得すると、アプリケーションは正しいアクションを実行できるようになります。
その結果、これを回避するには、SQL ステートメントの行数として count(*) を使用します。次に、PDO
を通じて行数を取得します。効率を考慮して、最初に fetchAll() を使用し、クエリ結果セットが配列に変換された後に PHP 関数 count() を直接使用してセル数を計算します。 。
------解決策----------------------
ほとんどのアプリケーション (特にテンプレート エンジンを使用する場合) では、 fetchAll メソッドはシンプルで効率的です