用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3606|回复: 6
收起左侧

[HELP] CI如何查询并显示数据

[复制链接]
发表于 2011-12-24 12:23:50 | 显示全部楼层 |阅读模式
大家好,我是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>


可是,运行的时候,出现了这样的错误
 楼主| 发表于 2011-12-24 12:24:13 | 显示全部楼层
请大家帮我看看,是怎么回事呢?
 楼主| 发表于 2011-12-24 12:26:15 | 显示全部楼层
图片看不到了,我复制过来吧

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: query

Filename: controllers/blog3.php

Line Number: 11
 楼主| 发表于 2011-12-24 12:26:47 | 显示全部楼层
还有一句:Fatal error: Call to a member function result() on a non-object in H:\www\ci\application\controllers\blog3.php on line 11
发表于 2011-12-24 12:55:29 | 显示全部楼层
只是在Blog3中加载了blog_model3模块,并没用调用get_base()函数啊,当然不会产生$query->result()的结果。在Blog3里自然是会报未定义变量咯~
发表于 2011-12-24 13:30:21 | 显示全部楼层
这个是加载一个数据库配置的组,并不是加载指定的数据库名
PHP复制代码
 
$this->load->database('group_name');
 
复制代码


所以你一定要那么写的话,就写成
PHP复制代码
 
$this->load->database('default');
 
复制代码


或者你没有其他的配置组就直接
PHP复制代码
 
$this->load->database();
 
复制代码
 楼主| 发表于 2011-12-24 15:10:41 | 显示全部楼层
搞定了,在这里谢谢大家啦!

本版积分规则