I would think the following piece of code should work, but it doesn\'t (Edited: Now works in PHP 5.5+):
if (!empty($r->getError()))
Note: This is a very high voted answer with a high visibility, but please note that it promotes bad, unnecessary coding practices! See @Kornel's answer for the correct way.
Note #2: I endorse the suggestions to use @Kornel's answer. When I wrote this answer three years ago, I merely meant to explain the nature of the error, not necessarily endorse the alternative. The code snippet below is not recommended.
It's a limitation of empty() in PHP versions below 5.5.
Note: empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).
You'd have to change to this
// Not recommended, just illustrates the issue
$err = $r->getError();
if (!empty($err))