sql >> データベース >  >> RDS >> Mysql

致命的なエラー:オブジェクトコンテキストにないときに$thisを使用する

    エラーが示すように、$thisは使用できません クラス定義の外。 $_dbを使用するには クラス定義の外では、最初にそれをpublicにします privateの代わりに :

    public $_db

    次に、次のコードを使用します:

    $authDb = new AuthDb();
    $authDb->_db->prepare($query); // rest of code is the same
    

    -

    $thisが何であるかを理解する必要があります 実際に意味します。クラス定義内で使用する場合、$this そのクラスのオブジェクトを参照するために使用されます。したがって、関数fooがある場合 AuthDB内 、$_dbにアクセスする必要がありました foo内から 、$thisを使用します $_dbが必要であることをPHPに通知します fooと同じオブジェクトから に属します。

    このStackOverflowの質問を読むことをお勧めします: PHP:self vs $ this




    1. Access2016でフォームヘッダーの背景色を変更する方法

    2. mysqlを自動的に起動するにはどうすればよいですか? (linux-cliのみ)

    3. PowerShellを使用してパラメーターのデフォルト値を解析する–パート1

    4. 一時テーブルを作成する前に、一時テーブルが存在するかどうかを確認し、存在する場合は削除してください