PHP PDO select ステートメントの結果行数の計算、pdoselect
PDO には、前の SQL ステートメントによって影響を受けた行数を返す関数 PDOStatement::rowCount があります。
rowCount 関数の結果は、DELETE、INSERT、または UPDATE ステートメントでは正しいですが、select ステートメントではデータベースの実装に関連します。一部のデータベースは、select ステートメントの実行時にすべての結果セットをメモリに読み取りますが、膨大な数の結果セットの場合、これは明らかに非効率です。ほとんどのデータベースは結果セットの一部のみを返し、必要に応じて結果セットの残りを返すため、メモリ使用量と実行効率の両方が最適化されます。後者の場合、rowCount は SELECT ステートメントの結果セット内の正しい行数を返すことができません。
SELECT 結果の正しい行数を取得するには、いくつかの方法があります
1. fetchAll関数を使用する
$q = $db->query("SELECT ...");
$rows = $q->fetchAll();
$rowCount = count($rows);
2.SQLカウント関数を使用する
$q = $db->query("SELECT count(*) from db;");
$rows = $q->fetch();
$rowCount = $rows[0];
明らかに 2 番目の方法の方が効率的です
http://www.bkjia.com/PHPjc/1018254.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1018254.html技術記事 PHP PDO select ステートメントの結果の行数の計算。pdoselect PDO には、前の SQL ステートメントの影響を受けた行数を返す関数 PDOStatement::rowCount があります。 DELETE、INSERT、または UPDA の rowCount 関数...