Пример 2. Counting rows returned by a SELECT statement
For most databases, PDOStatement::rowCount() does not
return the number of rows affected by a SELECT statement. Instead, use
PDO::query() to issue a SELECT COUNT(*) statement
with the same predicates as your intended SELECT statement, then use
PDOStatement::fetchColumn() to retrieve the number
of rows that will be returned. Your application can then perform the
correct action.
<?php $sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100"; if ($res = $conn->query($sql)) {
/* Check the number of rows that match the SELECT statement */ if ($res->fetchColumn() > 0) {
/* Issue the real SELECT statement and work with the results */ $sql = "SELECT name FROM fruit WHERE calories > 100"; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "\n"; } } /* No rows matched -- do something else */ else { print "No rows matched the query."; } }
$res = null; $conn = null; ?>
|
Результат выполнения данного примера: