Recent Posts

How to solve: Fatal error: Call to a member function ... on a non-object

This happens with code similar to xyz->method() where xyz is not an object and therefore that methodcan not be called.
This is a fatal error which will stop the script.
Most often a sign that the code has missing checks for error conditions. Validate that an object is actually an object before calling its methods.
typical example would be
// ... some code using PDO
$statement = $pdo->prepare('invalid query', ...);
$statement->execute(...);
In the example above, the query cannot be prepared and prepare() will assign false to $statement. Trying to call the execute() method will then result in the Fatal Error because false is a "non-object". It is a boolean.
If even the ->prepare is failing then your $pdo database handle object didn't get passed into the current scope. Find where it got defined. Then pass it as parameter, store it as property, or share it via the global scope.

No comments:

Post a Comment