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.
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 }
以上がPDO コードで「非オブジェクトのメンバー関数 prepare() の呼び出し」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。