Codeigniter 库遇到问题

发布于 2024-11-04 15:15:47 字数 1614 浏览 5 评论 0原文

我正在使用一个名为 MY_Model.php 的 codeigniter 库,该模型中有以下函数,

public function update($primary_value, $data, $skip_validation = FALSE)
{
    $valid = TRUE;
    if($skip_validation === FALSE)
    {
        $valid = $this->_run_validation($data);
    }

    if($valid)
    {
        $this->skip_validation = FALSE;
        return $this->db->where($this->primary_key, $primary_value)
            ->set($data)
            ->update($this->_table);
    }
    else
    {
        return FALSE;
    }
}

然后我使用以下代码执行该函数,

$update = array('last_logged_in', date("Y-m-d H:i:s"));
            if($this->ci->users_model->update($query[0]['user_id'], array('last_logged_in', date("Y-m-d H:i:s"))))
            {
                $this->session->set_flashdata('success', 'You have successfully been logged in');
                switch($query['user_type_id'])
                {
                    case 1:
                        redirect('/candidate/dashboard');
                        break;

                    case 2:
                        redirect('/employer/dashboard');
                        break;

                    case 3:
                        redirect('/admin/dashboard');
                        break;
                }
            }

但是我收到以下错误,

<块引用>

发生数据库错误

错误号:1054

“字段列表”中存在未知列“0”

更新用户 SET 0 = 'last_logged_in', 1 = '2011-04-28 21:06:51' 其中 user_id = '2'

I am working with a codeigniter library called MY_Model.php in that model there is the following function,

public function update($primary_value, $data, $skip_validation = FALSE)
{
    $valid = TRUE;
    if($skip_validation === FALSE)
    {
        $valid = $this->_run_validation($data);
    }

    if($valid)
    {
        $this->skip_validation = FALSE;
        return $this->db->where($this->primary_key, $primary_value)
            ->set($data)
            ->update($this->_table);
    }
    else
    {
        return FALSE;
    }
}

I then executing the function with the following code,

$update = array('last_logged_in', date("Y-m-d H:i:s"));
            if($this->ci->users_model->update($query[0]['user_id'], array('last_logged_in', date("Y-m-d H:i:s"))))
            {
                $this->session->set_flashdata('success', 'You have successfully been logged in');
                switch($query['user_type_id'])
                {
                    case 1:
                        redirect('/candidate/dashboard');
                        break;

                    case 2:
                        redirect('/employer/dashboard');
                        break;

                    case 3:
                        redirect('/admin/dashboard');
                        break;
                }
            }

However I am getting the following errors,

A Database Error Occurred

Error Number: 1054

Unknown column '0' in 'field list'

UPDATE users SET 0 =
'last_logged_in', 1 = '2011-04-28
21:06:51' WHERE user_id = '2'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

好菇凉咱不稀罕他 2024-11-11 15:15:47

尝试更改

array('last_logged_in', date("Y-m-d H:i:s"))

array('last_logged_in' => date("Y-m-d H:i:s"))

Try changing

array('last_logged_in', date("Y-m-d H:i:s"))

to

array('last_logged_in' => date("Y-m-d H:i:s"))
晨与橙与城 2024-11-11 15:15:47

我认为你需要将其更改为:

            if($this->ci->users_model->update($query[0]['user_id'], array('last_logged_in' => date("Y-m-d H:i:s"))))

请注意,数组现在是关联的 - 你在那里有一个逗号使其成为索引。

I think you need to change it to this:

            if($this->ci->users_model->update($query[0]['user_id'], array('last_logged_in' => date("Y-m-d H:i:s"))))

Note the array is now associative - you had a comma in there making it indexed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文