PDO を使用してユーザー入力を検証しようとすると、準備が完了していることを示すエラーが発生します。 () メソッドが非オブジェクトに対して呼び出されています。このエラーは、特に提供されたコードの 42 行目で発生します。
この問題を解決するには、コードを調べて、$pdo オブジェクトが正しく定義されており、repetirDados() 関数内でアクセスできることを確認します。このエラーは、$pdo が現在のスコープで使用できないことを示しています。
$pdo が関数の引数として渡されているか、またはグローバル変数として定義されているかを確認してください。これらのシナリオのどちらも当てはまらない場合は、グローバル名前空間内で $pdo を定義し、関数内で global キーワードを使用してアクセスできます。
global $pdo;
または、$pdo を引数として渡すこともできます。
PDO の mysql_num_rows に相当するものは rowCount() です。最新のクエリ実行によって影響を受けた行数を返します。この場合、 rowCount() を使用して、クエリから返された行があるかどうかを確認できます:
if ($stmt->rowCount() == 0) { // No results found } else { // Results found }
以上がPDO コードで「非オブジェクトのメンバー関数 prepare() の呼び出し」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。