How to properly handle errors from PDO fetch()?

Viewed 3870

The doc for error handling for fetch() seems unclear and I haven't found an answer anywhere after a lot of searching. A common usage model for fetch as shown in the doc is:

while ( $row = $stmt->fetch() ) {
    // do something with $row
}

The PHP doc at http://www.php.net/manual/en/pdostatement.fetch.php says:

In all cases, FALSE is returned on failure.

What does "failure" mean? An error? A failure to fetch more rows? My question is: when fetch() returns FALSE, what is best practice to detect errors? It seems like after the loop I need to distinguish between an error case and the "no more rows" case.

Should I call $stmt->errorCode() and see if it's '00000' ?

2 Answers
Related