ホームページ > バックエンド開発 > PHPチュートリアル > PDO で「非オブジェクトのメンバー関数 prepare() の呼び出し」が発生するのはなぜですか?

PDO で「非オブジェクトのメンバー関数 prepare() の呼び出し」が発生するのはなぜですか?

Patricia Arquette
リリース: 2024-11-13 14:07:02
オリジナル
530 人が閲覧しました

Why Am I Getting

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート