简体   繁体   English

Codeigniter 致命错误:调用非对象上的成员函数 query()

[英]Codeigniter Fatal error: Call to a member function query() on a non-object

Now I am learning Codeigniter.现在我正在学习 Codeigniter。 I have more databases, so I choosed this time Anketa one.我的数据库比较多,所以这次选择了Anketa one。 Why is error:为什么会报错:

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

I chacked, the user and pass in database is ok, database is loaded in conf, and chacked the table name.我查了一下,用户和传入数据库没问题,数据库在conf中加载,查了表名。 So what more?那还有什么?

$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);

Below line doesn't return you database object until you pass second argument as TRUE在您将第二个参数传递为 TRUE 之前,下面的行不会返回您的数据库对象

Change:改变:

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

To

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

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

Reference Link: http://codeigniter.com/user_guide/database/connecting.html参考链接: http ://codeigniter.com/user_guide/database/connecting.html

You dont have to do this你不必这样做

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

You can simply do it like this你可以简单地这样做

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

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

Also make sure database exists and you have rights to access it.还要确保数据库存在并且您有权访问它。

Posibly you need to load the DB library, please check in you autoload.php that you are loading the database library可能您需要加载数据库库,请检查您正在加载数据库库的 autoload.php

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

Or load the library in your controller或者在你的控制器中加载库

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

Hi Daniela,嗨丹妮拉,

I think this resource link may help u.我认为此资源链接可能对您有所帮助。 Because when you are using more than one database at a time u need to follow the syntax explained by GDB in his post.因为当你一次使用多个数据库时,你需要遵循 GDB 在他的帖子中解释的语法。 But you said unable to access to database that means it's not able to detect database,php in config folder.但是你说无法访问数据库,这意味着它无法检测配置文件夹中的数据库,php。 So put that file link externally in your php file.因此,将该文件链接放在外部的 php 文件中。 Then it may work.然后它可能会起作用。

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

That was the problem.这就是问题所在。 I set $db['default']['autoinit'] = TRUE and it worked.我设置$db['default']['autoinit'] = TRUE并且它起作用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 致命错误:在(CodeIgniter)中的非对象上调用成员函数query() - Fatal error: Call to a member function query() on a non-object in (CodeIgniter) 致命错误:在Codeigniter中的非对象上调用成员函数result() - Fatal error: Call to a member function result() on a non-object in Codeigniter codeigniter致命错误在非对象上调用成员函数cookie() - codeigniter fatal error Call to a member function cookie() on a non-object 致命错误:在非对象,代码点火器控制器上调用成员函数 - Fatal error: Call to a member function, on a non-object, codeigniter controller 致命错误:在非对象错误上调用成员函数 query() - Fatal error: Call to a member function query() on a non-object Error 致命错误:在非对象表达式引擎上调用成员函数query() - Fatal error: Call to a member function query() on a non-object expressionengine 致命错误:在非对象上调用成员函数query() - Fatal error: Call to a member function query() on a non-object 致命错误:在非对象上调用成员函数query() - Fatal error: Call to a member function query() on a non-object 致命错误:在非对象中调用成员函数query() - Fatal error: Call to a member function query() on a non-object in CodeIgniter随机PHP致命错误:在... mysqli_driver.php中的非对象上调用成员函数。 - CodeIgniter Random PHP Fatal error: Call to a member function … on a non-object in … mysqli_driver.php
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM