マニュアルによると、 PDOStatement->rowCount
方法;ただし、使用しないでください(引用) :
ほとんどのデータベースでは、
PDOStatement::rowCount()
SELECT
の影響を受ける行数を返しません 声明。
代わりに、PDO::query()
を使用してくださいSELECT COUNT(*)
を発行します 目的のSELECT
と同じ述語を持つステートメント ステートメント、次にPDOStatement::fetchColumn()
を使用します 返される行数を取得します。
これで、アプリケーションは正しいアクションを実行できます。
すでにレコードセットがあり、その中に何行あるかを知りたい場合は、fetch*
のいずれかを使用してデータをフェッチする必要があります。 メソッド;そして、カウントを使用します-あなたが提案したように。