PDO には、前の SQL ステートメントによって影響を受けた行数を返す関数 PDOStatement::rowCount があります。
rowCount 関数の結果は、DELETE、INSERT、または UPDATE ステートメントでは正しいですが、select ステートメントの場合はデータベースの実装に関連します。一部のデータベースは、select ステートメントの実行時にすべての結果セットをメモリに読み取りますが、膨大な数の結果セットの場合、これは明らかに非効率です。ほとんどのデータベースは結果セットの一部のみを返し、必要に応じて結果セットの残りを返すため、メモリ使用量と実行効率の両方が最適化されます。後者の場合、rowCount は SELECT ステートメントの結果セット内の正しい行数を返すことができません。 SELECT 結果の正しい行数を取得するには、いくつかの方法があります
1. fetchAll 関数を使用します $q = $db->query("SELECT ..."); $rows = $q->fetchAll();
2. SQL カウント関数 $q = $db->query("SELECT count(*) from db;"); を使用します。 $rows = $q->fetch();
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。