Php CodeIgniter数据库检索问题
这是我第一次尝试在CodeIgniter中编写代码。问题是它无法从数据库检索数据。它抛出的错误是:Php CodeIgniter数据库检索问题,php,mysql,codeigniter,Php,Mysql,Codeigniter,这是我第一次尝试在CodeIgniter中编写代码。问题是它无法从数据库检索数据。它抛出的错误是: A PHP Error was encountered Severity: Notice Message: Undefined property: Site::$db Filename: core/Model.php Line Number: 51 我可以理解在core/model.php这一行中要更改什么 这是另一个错误: Fatal error: Call to a member
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Site::$db
Filename: core/Model.php
Line Number: 51
我可以理解在core/model.php
这一行中要更改什么
这是另一个错误:
Fatal error: Call to a member function query() on a non-object in C:\wamp\www\CI_one\application\models\site_model.php on line 9
控制器
模型为
<?php
class site_model extends CI_Model{
function index(){
echo "default index";
}
function getValues(){
$query = $this->db->query("select * from nav_menu");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
echo $row->c1;
echo $row->m2;
echo $row->d3;
}
}
return array(
"name" => "nameless",
"form" => "formless",
"age" => "ageless");
}
}
请在CodeIgniter控制器中编写一个构造函数,如下所示:
public function __construct() {
parent::__construct();
}
除此之外:
您必须首先加载数据库库。在
autoload.php:
$autoload[‘libraries’] = array(‘database’);
或在控制器构造函数中作为:
$this->load->database();
我希望这会有帮助 在Codeigniter中,您必须手动加载DB库,如下所示:
$this->load->database();
或者您必须按照sandip的指示自动加载库
在应用程序中,您可能需要自动加载多个库和帮助程序,因此自动加载是最佳做法,而不是手动加载它们。请阅读有关自动加载的信息
另外,请阅读其余的文档,您将从中了解有关CI的所有信息。它简单、简洁,并且有示例
希望这会有所帮助 试试这个:
控制器:
<?php
class Site extends CI_Controller {
function datta(){
$this->load->database();
$this->load->model('site_model');
$get=$this->site_model->getValues();
$data['get']=$get;
$this->load->view('data3',$data);
}
}
打开config/autoload.php,检查数组$autoload['libraries']是否包含'database'@Adeel added$autoload['libraries']=array('database');正如所建议的,但引发了一个类似这样的错误:遇到了一个错误,无法加载请求的类:数据库您如何调用控制器?提及完整的URL。不要试图模仿模型中的东西。使用它的视图。检查您的database.php
并检查数据库配置是否正确。就像我打电话一样,只是为了检查我在模型中的回声。db配置正确,在自动加载库中添加了db,尝试使$db['default']['pconnect']=TRUE;在app/config/db中为false仍不工作@SilentAssassin@gurudev我已经更新了我的答案,请查看!两者都显示了在无法加载请求的类时遇到的错误:database$this->load->database('mydb');这是错误的,只需使用$this->load->database();。尝试过了,但还是同样的错误,我是否需要在app/config/database.php以外的其他地方提到db name可能是正确的,添加这一行并清除浏览器头部产生的结果。对不起,我没有足够的声誉,不能告诉你。谢谢,没问题。很好,你的问题已经解决了。在继续之前,请尝试给CI文档留出一些时间,当您需要任何功能时,只要查看CI文档,您就会找到它,并遵循他们的工作方式。仍然是相同的错误!如果我尝试将db name作为参数放在$this->load->database()中;它说遇到了一个错误,您指定了一个无效的数据库连接组。
$this->load->database();
$this->load->database();
<?php
class Site extends CI_Controller {
function datta(){
$this->load->database();
$this->load->model('site_model');
$get=$this->site_model->getValues();
$data['get']=$get;
$this->load->view('data3',$data);
}
}