To get the result from the database, you can do this:
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll();
foreach($result as $r) {
echo "<pre>";
print_r($r);
echo "</pre>";
}
but it seem to work without using fetchAll, example:
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$result = $sth->execute();
foreach($result as $r) {
echo "<pre>";
print_r($r);
echo "</pre>";
}
so what is the difference?
fetchAllwill read in all rows from the database resultset and make an array out of them, keeping it all in memory. Iterating over the resultset will fetch one row at a time from the server which will save resources on the PHP side (but may use more resources on the database server, depending on the database implementation).