CI如何查询并显示数据
大家好,我是CI初学者,最近遇到了一个数据库查询的问题。我在用CI做一个最基本的网页,只需要从数据库中读取title,heading,content,footer这些基本数据就可以了。
数据库设置如下:
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = '100628';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
现在数据库名为100628,下面有一个名为“base"的表,表中只有五个字段,
id,title,heading,content,footer
然后我在model下建立一个名为Blog_model3的模型,代码如下:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Blog_model3 extends CI_Model{
function __construst()
{
parent::__construst;
$this->load->database('100628');
}
function get_base()
{
$query = $this->db->get('base');
return $query->result();
}
}
再者,在controller下建立一个名为Blog3的控制器,代码如下:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Blog3 extends CI_Controller {
function __construct(){
parent::__construct();
}
function index(){
$this->load->model('Blog_model3');
foreach($query->result() as $row) {
$data['title'] = $row->title;
$data['heading'] = $row->heading;
$data['content'] = $row->content;
$data['footer'] = $row->footer;
}
$this->load->view('blogview', $data);
}
}
最后,在view文件夹下面建立名为blogview.php的视图文件,代码如下:
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<h1><?php echo $heading; ?></h1>
<h3><?php echo $content; ?></h3>
<h3><?php echo $footer; ?></h3>
</body>
</html>
可是,运行的时候,出现了这样的错误http://b302.photo.store.qq.com/psb?/7c429ab9-a7e8-4b76-8795-fd96d6ccbd66/HPma6oZkfqSOwzjnPOv1EC9VKcU4iIBcjD0jmYmqgMg!/b/YY9ID7QILgAAYiTCCrS9LQAA 请大家帮我看看,是怎么回事呢? 图片看不到了,我复制过来吧
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: query
Filename: controllers/blog3.php
Line Number: 11 还有一句:Fatal error: Call to a member function result() on a non-object in H:\www\ci\application\controllers\blog3.php on line 11 只是在Blog3中加载了blog_model3模块,并没用调用get_base()函数啊,当然不会产生$query->result()的结果。在Blog3里自然是会报未定义变量咯~ 这个是加载一个数据库配置的组,并不是加载指定的数据库名
$this->load->database('group_name');
所以你一定要那么写的话,就写成
$this->load->database('default');
或者你没有其他的配置组就直接
$this->load->database();
搞定了,在这里谢谢大家啦!
页:
[1]