error_reporting is not an on/off setting, it has many different possible values. Enable E_ALL and you will hopefully see the error which caused the problem.
The "Call to a member function on a non-object" is almost certainly the result of an earlier (unreported) error, causing some function which should return an object to return (for example) FALSE.
Mark