Theo sách hướng dẫn, có một PDOStatement->rowCount
phương pháp; nhưng nó không nên được sử dụng (trích dẫn) :
Đối với hầu hết các cơ sở dữ liệu,
PDOStatement::rowCount()
không trả lại số lượng hàng bị ảnh hưởng bởi mộtSELECT
tuyên bố.
Thay vào đó, hãy sử dụngPDO::query()
để phát hành mộtSELECT COUNT(*)
câu lệnh với các từ giống nhưSELECT
dự định của bạn , sau đó sử dụngPDOStatement::fetchColumn()
truy xuất số hàng sẽ được trả về.
Ứng dụng của bạn sau đó có thể thực hiện đúng hành động.
Nếu bạn đã có một tập bản ghi và muốn biết có bao nhiêu dòng trong đó, bạn sẽ phải tìm nạp dữ liệu, sử dụng một trong các fetch*
các phương pháp; và sử dụng số lượng - như bạn đã đề xuất.