Esempio 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::fetchSingle() 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->fetchSingle() > 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; ?>
|
The above example will output: