使用计数器进行codeigniter活动记录更新

时间:2015-06-25 03:51:46

标签: php mysql codeigniter activerecord

我想使用活动记录更新我的数据库,但我在$ data数组中设置的计数器变量也在更新,因此,我不断收到MySQL错误#1054

错误备注

Error Number: 1054

Unknown column 'success' in 'field list'

UPDATE `posts` SET `success` = 0 WHERE `postID` = '1'

模型

public function editpost($postID)
{

    $data['success'] = 0;

    if($_POST){
        $data_post = array(
            'title' => $_POST['title'],
            'post' => $_POST['post'],
            'active' => 1

        );
        $this->post->update_post($postID, $data);
        $data['success'] = 1;
    };
    $data['post'] = $this->post->get_post($postID);
    $this->load->view('edit_post', $data);

}

控制器

public function update_post($postID, $data)
{

    $this->db->where('postID', $postID);
    $this->db->update('posts', $data);

}

查看

<?php if($success == 1){ ?>
    <div style="color: white; background: green;">This post has been updated!</div>
<?php } ?>

<form action="<?=base_url()?>posts/editpost/<?= $post['postID']?>" method="post">
    <p>Title: <input type="text" name="title" value="<?= $post['title']?>"></p>
    <p>Description: <br><textarea name="post"><?= $post['post']?></textarea></p>
    <p><input type="submit" value="Edit Post"></p>
</form>

这是我的数据库表:

http://i.stack.imgur.com/DKobX.jpg

2 个答案:

答案 0 :(得分:0)

而不是这个 $this->post->update_post($postID, $data);

使用这个 $this->post->update_post($postID, $data_post);

因为您传递的数组是错误的数组

答案 1 :(得分:0)

执行查询时,它将返回true和false值。如果查询成功执行,则返回true,否则返回false。 例如:

    $res = $this->db->where('id',$id)
        ->update('user',$array);
  echo $res;