(no version information, might be only in CVS)
PDOStatement->rowCount() -- 直近の SQL ステートメントによって作用した行数を返すPDOStatement->rowCount() は 相当する PDOStatement オブジェクトによって実行された 直近の DELETE, INSERT, UPDATE 文によって作用した行数を返します。
関連する PDOStatement によって実行された直近の SQL ステートメントが SELECT 文の場合、いくつかのデータベースは文によって返された 行数を返すかも知れません。しかしながら、 この振る舞いは全てのデータベースで保証されていません。 さまざまな場所で使用するアプリケーションでは、 これに頼ってはいけません。
例 1. 削除された行数を返す PDOStatement->rowCount() は DELETE, INSERT, UPDATE 文によって作用した行数を返します。
上の例の出力は以下となります。
|
例 2. SELECT 文によって返された行をカウントする ほとんどのデータベースでは、PDOStatement->rowCount() は SELECT 文によって作用した行数を返しません。代わりに、 PDO->query() を使って 意図する SELECT 文として同様の述部を持つ SELECT COUNT(*) 文を発行し、PDOStatement->fetchColumn() を使って返される行数を取得することができます。 そうすることで、アプリケーションは正しい動作をすることができます。
上の例の出力は以下となります。
|