0 レビュー
2 回答
php-codeigniterを使用してライブラリ内にMySQLを挿入
を使用して、ライブラリ内からデータベースに番号を挿入しようとしています。
$data = array(
'id' => $id,
'so' => '1',
'username' => $username
);
$this->db->insert('db', $data);
しかし、実行するたびに、「致命的なエラー:の非オブジェクトに対するメンバー関数insert()の呼び出し」が発生します
理由を知っている人はいますか?
ありがとう
わからない
0
レビュー
答え :
解決策:
ライブラリ内でこれを行っている場合、モデルで通常行うように$thisオブジェクトを参照することはできません。代わりに、次のようにCIのインスタンスをロードする必要があります:
$CI =& get_instance();
次に、次のようにデータベースにレコードを挿入できるようになります。
$CI->db->insert('db', $data);
自動ロードされていない場合は、データベースライブラリもロードすることを忘れないでください。
わからない
0
レビュー
答え :
解決策:
ライブラリ内の「$this」は、コーディングしているクラスを指します(OOPの概念)。
DBオブジェクトはCIスーパーオブジェクトの一部です。したがって、クラスでdbを使用するには、次のようなCIオブジェクトへの参照を取得する必要があります
$CI =& get_instance();
次に、挿入ステートメントを次のように書き直します
$CI->db->insert('db', $data);
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。