Codeigniter手动更新数据库

时间:2017-03-08 09:26:59

标签: codeigniter

模块

function update($id)
{
    $this->db->where('id',$id);
    $this->db->update('table', 'status=1');
}

控制器

function test()
{
    $this->load->model('model');
    $this->mdl_banners->update('1');
}

我尝试手动更新数据库的列。我尝试了上面的方法,但它没有用。请帮帮我。

3 个答案:

答案 0 :(得分:0)

如果模型的名称是mdl_banners,那么控制器代码必须如下所示:

$this->load->model('mdl_banners_model');

$this->mdl_banners_model->update('1');

加载必须加载模型名称后跟下划线,稍后对函数调用也一样。

Malik的正确答案也指出了另一个问题,你需要传递一个数组来更新():

$this->db->update('table', array('status'=>1));

答案 1 :(得分:0)

$table='tableName'; // or get it as parameter in function 
$data=array('status'=>1);
$this->db->WHERE('$id',$id);
$this->db->update($table, $data);

下面是我在我的一个项目中使用它的实时示例

public function updatePage($data,$menuId)
{
    $item=array(
        'slug'=>$data['slug'],
        'content'=>$data['content']
    );

    $this->db->WHERE('id',$menuId)->update('pages',$item);
}

答案 2 :(得分:0)

//控制器

function test()
{
$this->load->model('mdl_banners');      
$this->mdl_banners->update('1','1');
}

//模型

function update($id,$s)
{
$data=array('status'=>$s);
$this->db->WHERE('$id',$id);
$this->db->update(table, $data);
}

试试这个..

相关问题