PDO の非オブジェクト上のメンバー関数 prepare() の呼び出し
この質問は、PDO 拡張機能の使用中に発生したエラーを中心に展開しますPHP用。このエラーは、prepare() メソッドが非オブジェクトに対して呼び出されたことを示唆しています。
考えられる原因
このエラーの主な原因は、未定義の $pdo 変数にあります。 $pdo が正しく定義されているか、prepare() メソッドが使用されている関数に引数として渡されていることを確認することが重要です。
代替ソリューション
代替、グローバル $pdo を含めることができます。関数の先頭で、グローバル スコープから $pdo 変数にアクセスします。ただし、このアプローチはコードのモジュール性を促進しないため、あまり望ましくないと考えられています。
mysql_num_rows と同等
PHP Data Objects (PDO) はより高度なデータベースであるため現在非推奨となっている MySQLi 拡張機能よりも抽象化レイヤーであるため、mysql_num_rows と直接同等のものは提供されません。ただし、クエリによって影響を受ける行数、またはステートメントによってフェッチされる行数は、 rowCount() を使用して取得できます。
たとえば、コードを変更して影響を受ける行数を取得できます。
$ok = $stmt->execute(); $rowCount = $stmt->rowCount();
以上がPDO で「非オブジェクトのメンバー関数 prepare() の呼び出し」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。