Home  >  Article  >  Backend Development  >  Why Am I Getting a 'Call to a member function prepare() on a non-object' Error in My PDO Code?

Why Am I Getting a 'Call to a member function prepare() on a non-object' Error in My PDO Code?

Susan Sarandon
Susan SarandonOriginal
2024-11-14 16:04:02809browse

Why Am I Getting a

pdo - Call to a member function prepare() on a non-object

When attempting to validate user input using PDO, an error is encountered indicating that the prepare() method is being called on a non-object. This error occurs specifically on line 42 of the provided code.

To resolve this issue, inspect the code to ensure that the $pdo object is properly defined and accessible within the repetirDados() function. The error suggests that $pdo is not available in the current scope.

Confirm if $pdo is being passed as an argument to the function or if it is defined as a global variable. If neither of these scenarios is true, you can define $pdo within the global namespace and use the global keyword within the function to access it:

global $pdo;

Alternatively, you can pass $pdo as an argument to the repetirDados() function, ensuring that it is available within the function's scope.

Equivalent to mysql_num_rows

The equivalent of mysql_num_rows in PDO is rowCount(). It returns the number of rows affected by the most recent query execution. In this case, you can use rowCount() to check if any rows were returned from the query:

if ($stmt->rowCount() == 0) {
    // No results found
} else {
    // Results found
}

The above is the detailed content of Why Am I Getting a 'Call to a member function prepare() on a non-object' Error in My PDO Code?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn