大家好我想尝试连接我的数据库以使用codeigniter获取一些数据,有我的代码:
我收到此错误:
致命错误:第3行/Applications/MAMP/htdocs/ci/application/models/Data_model.php中找不到“模型”类
遇到PHP错误
严重性:警告
消息:无法修改标头信息 - 已经发送的标头(输出从/Applications/MAMP/htdocs/ci/application/models/Data_model.php:3开始)
文件名:core / Common.php
行号:569
回溯:
遇到PHP错误
严重性:错误
消息:未找到类“模型” 文件名:models / Data_model.php
行号:3 回溯:
型号: Data_model.php:
<?php
class Data_model extends Model {
function getAll(){
$q = $this->db->query("SELECT * from data");
if($q->num_rows() > 0) {
foreach ($q->result() as $row) {
$data [] = $row;
}
return $data;
}
}
}
的观点: home.php
<htmL>
<body>
<div> view has been loaded</div>
<!--<p> <?php echo $myValue; ?> </p>
<p> <?php echo $anotherValue; ?> </p> -->
<pre>
<?php foreach ($rows as $r) {
echo '<h1>' . $r->title . '</h1>';
}
?>
</pre>
</body>
</htmL>
控制器: site.php
<?php
Class Site extends CI_Controller {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function index(){
$this->load->model('data_model');
$data['rows'] = $this->data_model->getAll();
$this->load->view('home', $data);
}
}
答案 0 :(得分:2)
确保您的类扩展了基础Model类。在CodeIgniter中,这是&#34; CI_Model&#34; ...
class Data_model extends CI_Model {
// Your model class code here...
}
答案 1 :(得分:2)
始终确保使用CI_Model扩展模型,因为它将被识别。
class Model extends CI_Model {
//you can always put function construct
public function __construct (){
parent::__construct ();
}
}
在您的控制器中:
class Sample extends CI_Controller {
public function __construct () {
parent:: __construct();
//you can load here the model that you will just often so will load it everytime to use it in a function
$this->load->model('nameofModel');
}
}
请记住:模型或控制器的名称必须与其文件名相同。
答案 2 :(得分:1)
确保您已加载模型 为了那个原因: 1.open application / config / autoload.php 和 2.使用
编辑
$autoload['model'] = array('');
$autoload['model'] = array('Model');
那是有效的