5

今、私はコードイグナイターを学んでいます。他にもデータベースがあるので、今回は Anketa を選びました。エラーの理由:

**Fatal error: Call to a member function query() on a non-object in /var/www/domains/svastara/application/controllers/anketa.php on line 12** ???

データベースのユーザーとパスは問題ありません。データベースはconfにロードされ、テーブル名をチャッキングしました。それで、さらに何ですか?

$this->db = $this->load->database('anketa');

        $q = $this->db->query("SELECT * FROM anketaip");

        if($q->num_rows()>0){
        foreach ($q->result() as $row)
        {
            $data[] = $row;
        }

        }return $data;

        $this->load->view('anketa_nova', $data);
4

5 に答える 5

3

以下の行は、2番目の引数をTRUEとして渡すまで、データベースオブジェクトを返しません。

変化する:

$this->db = $this->load->database('anketa');

$newdb = $this->load->database('anketa',TRUE);

$q = $newdb->query("SELECT * FROM anketaip");

参照リンク:http ://codeigniter.com/user_guide/database/connecting.html

于 2012-10-17T10:02:51.690 に答える
3

あなたはこれをする必要はありません

$this->db = $this->load->database('anketa');

あなたは単にこのようにすることができます

$this->load->database('anketa');

$this->db->query('blah blah');

また、データベースが存在し、それにアクセスする権限があることを確認してください。

于 2012-10-17T11:46:47.780 に答える
1

おそらくDBライブラリをロードする必要があります。データベースライブラリをロードしていることをautoload.phpでチェックインしてください。

$autoload['libraries'] = array('database');

または、コントローラーにライブラリをロードします

$this->load->library('database');
于 2012-10-17T10:03:42.213 に答える
0

こんにちはダニエラ、

このリソースリンクが役立つと思います。一度に複数のデータベースを使用している場合、GDB の投稿で説明されている構文に従う必要があるためです。しかし、データベースにアクセスできないということは、configフォルダーでデータベース、phpを検出できないことを意味します。したがって、そのファイルリンクをphpファイルの外部に配置してください。それならうまくいくかもしれません。

http://codeigniter.com/forums/viewthread/191673/

于 2012-10-17T10:14:56.920 に答える
0

それが問題でした。私は設定$db['default']['autoinit'] = TRUE し、それは働いた。

于 2015-09-14T10:39:13.217 に答える