PDO はデータベース対話用の強力な PHP 拡張機能であり、データベース クエリを処理するための効率的で安全なメカニズムを提供します。ただし、MySQLi の num_rows 変数とは異なり、PDO には SELECT クエリによって返される行数を決定する直接的な方法がありません。
PDOStatement->rowCount がありますが、 PDO ドキュメントによると、このメソッドを SELECT クエリに使用することは推奨されていません。代わりに、目的の SELECT クエリと同じ基準を使用して別の SELECT COUNT(*) ステートメントを発行することをお勧めします。
SELECT クエリによって返される行数をカウントするには、次の手順を使用できます:
すでにレコードセットがある場合は、カウントを使用できます() 関数を使用して、その中の行数を決定します。ただし、これには、fetch() や fetchAll() などの fetch* メソッドの 1 つを使用してデータをフェッチする必要があります。
推奨されるアプローチを示す例を次に示します。
$stmt = $pdo->prepare("SELECT * FROM `table` WHERE `condition` = ?"); $stmt->execute([$value]); $rowCount = $stmt->rowCount(); // This will return 0 for a SELECT query $countStmt = $pdo->prepare("SELECT COUNT(*) FROM `table` WHERE `condition` = ?"); $countStmt->execute([$value]); $count = $countStmt->fetchColumn(); // This will return the actual count echo "Number of rows: $count";
このアプローチに従うことで、PDO SELECT クエリによって返される行数を正確に数えることができ、最適なパフォーマンスとデータベース リソースの使用率を確保できます。
以上がPHP で PDO SELECT クエリから行を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。