【问题标题】:Code Igniter select active record in model not workingCodeigniter 选择模型中的活动记录不起作用
【发布时间】:2012-02-22 20:07:27
【问题描述】:

我想选择然后var_dump 数据库行,但我不能,因为var_dump 正在返回bool(false)

我的模型:(players.php)。

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Players extends CI_Model
{
    private $table_name = 'players';

    function __construct()
    {
        parent::__construct();
    }

    function get($id = FALSE)
    {
        $this->db->select();
        $this->db->where('ban <', time());
        if ( $id )
            $this->db->where('id =', $id);

        $query = $this->db->get($this->table_name);
        return $query->num_rows() == 0;
    }
}

/* End of file test.php */
/* Location: ./application/models/test.php */

我的 player.php 控制器:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Player extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();

        $this->load->helper(array('form', 'url'));
        $this->load->library('form_validation');
        $this->load->library('tank_auth');
    }

    public function index()
    {
        $this->load->model('players');
        $this->load->view('template/header');
        $this->load->view('default');
        var_dump($this->players->get());
        $this->load->view('template/footer');
    }
}

/* End of file player.php */
/* Location: ./application/controllers/player.php */

你有什么解决办法吗?

【问题讨论】:

    标签: codeigniter activerecord select


    【解决方案1】:
    $this->db->where('id =', $id);
    

    不正确

    $this->db->where('id', $id);
    

    是正确的。您不需要带有普通 WHERE = 的 = 操作数;使用 &lt;&gt;!= 的操作数

    还有,

    return $query->num_rows() == 0; 
    

    如果您的行数超过 0 行,将返回 bool false(即,如果您有任何用户使用 ban &lt; time()。尝试只返回 $queryvar_dump'ing 那。

    【讨论】:

    • 感谢您的回复。当我只返回 $query 时,结果如下所示:object(CI_DB_mysql_result)#21 (8) { ["conn_id"]=&gt; resource(9) of type (mysql link persistent) ["result_id"]=&gt; resource(19) of type (mysql result) ["result_array"]=&gt; array(0) { } ["result_object"]=&gt; array(0) { } ["custom_result_object"]=&gt; array(0) { } ["current_row"]=&gt; int(0) ["num_rows"]=&gt; int(1) ["row_data"]=&gt; NULL }
    • 没关系,只是忘了添加$query-&gt;result()。谢谢你:)
    猜你喜欢
    • 2014-02-25
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2013-01-06
    相关资源
    最近更新 更多