主页不是有视频么,你去看看,我当时就看的蒋深的视频,讲的挺明白 ginnerpeace 发表于 2014-3-27 16:44 static/image/common/back.gif
用$this->db->query(); 时括号里面要写sql的原生查询语句,返回的是一个数组对象,接收一下,最简单 ...
10楼这遍历的错了 foreach( $query->result_array() as $row ) ,然后就能var_dump( $row )了
ginnerpeace 发表于 2014-3-27 16:44 static/image/common/back.gif
用$this->db->query(); 时括号里面要写sql的原生查询语句,返回的是一个数组对象,接收一下,最简单 ...
我的model:
$this->db->select('*');
$this->db->from('guestbook');
$query=$this->db->get();
return $query;
我的controller:
$this->load->model('blog_model');
$data['query'] = $this->blog_model->get_last_ten_entries();
if(!isset($data['query'])){
$this->load->view('error');
}
报错内容:
Fatal error: Call to a member function select() on a non-object in X:\www\CI-study\application\models\blog_model.php on line 22
ginnerpeace 发表于 2014-3-27 16:46 static/image/common/back.gif
http://codeigniter.org.cn/
主页不是有视频么,你去看看,我当时就看的蒋深的视频,讲的挺明白 ...
我看了下视频的源码,和我写的基本一样,但是我的在使用select()的时候就报错了
$this->db->from这样不行的吧。。。
比如你查id,一般是$this->db->where( 'id', $id ); 然后select,然后用get接收
还有啊你后面那个isset太奇怪了。。。像你模型里里那样返回的话,是一个对象数组,你怎么搞成data里的一个键值了。。。这样可以判断是否空:if ($query->num_rows() > 0) 小包 发表于 2014-3-27 16:55 static/image/common/back.gif
我看了下视频的源码,和我写的基本一样,但是我的在使用select()的时候就报错了
...
我感觉你是把php代码和CI方法混着写了,,,用CI的话就用它带的类,看看手册
ginnerpeace 发表于 2014-3-27 17:09 static/image/common/back.gif
我感觉你是把php代码和CI方法混着写了,,,用CI的话就用它带的类,看看手册
...
这是我的Controller:
class Blog extends CI_Controller{
function __construct(){
parent::__construct();
}
function index(){
$this->load->model('blog_model');
$data['query'] = $this->blog_model->get_last_ten_entries();
print_r($data['query']);
}
}
这是Model,:
class Blog_model extends CI_Model{
var $title = '';
var $content = '';
var $date = '';
function __construct(){
parent::__construct();
$dsn = 'dbdriver://root:123qwe@localhost/db_lyb;';
$this->load->database($dsn);
}
function get_last_ten_entries(){
$this->db->select('*');
$this->db->from('guestbook');
$query=$this->db->get();
return $query;
}
}
帮忙看下该怎么改
额……构造函数里那个dbdriver这里要写mysql。。。。
先模型:
function get_last_ten_entries( $id ){ //查询的模型里需要形参
$this->db->where( 'uid', $id )//uid是你数据库表里的字段名
$this->db->select('*');
$query=$this->db->get( 'guestbook' );
return $query;
}
控制器:
function index(){
$this->load->model('blog_model');
$query = $this->blog_model->get_last_ten_entries();
var_dump( $query ); //这时有输出数据了,但$query是个对象数组,只能这样查看值
if ($query->num_rows() > 0)//判断query里有值没
{
foreach ($query->result_array() as $row) //没有分号,这句以后把对象数组query的值给了变量数组row,你可以在这块echo $row['keyname'];
// 这种好处就是可以将数组值传到视图里面,比如
$this->load->view( 'viewname', $row );
//有了这句,你在视图里就可以用:<?=$keyname;?> 直接显示值了
}
} 最好不要在index里用,因为你要查询的,需要传参
在控制器里另写一个方法,带上形参, $query = $this->blog_model->get_last_ten_entries();这句的括号里要有参数才能查
页:
1
[2]