Codeigniter MYSQL返回最近的行


Codeigniter MYSQL Returning Most Recent Row

我有下面的代码,我不确定修改它的最佳方法,以便它显示最后输入到数据库中的行。

user_date列显示如下:2010-05-06 12:37:28

控制器:

$result = $this->shared_model->GetJustJoinedUser();
    $data['just_joined_user'] = $result->row_array();

模型:

function GetJustJoinedUser()
{
    $query = $this->db->query("SELECT *
                              FROM {$this->_table['users']} user
                              WHERE user_description != '' AND user_image != '' AND (user_twitter != '' OR user_youtube != '' OR user_vimeo!= '')
                              ORDER BY user_date DESC
                              LIMIT 1");
    return $query;
}

您的查询已经获得了最后插入的行,但在WHERE语句中有一些限制。

如果您想要真正的最后一行,只需像这样去掉WHERE语句:

$query = $this->db->query("SELECT * FROM {$this->_table['users']} user ORDER BY user_date DESC LIMIT 1");

你似乎不太了解SQL查询,所以我建议你读一些关于它的教程

我不确定这是否能解决你的问题,但你可以尝试这样做。

$last_id = $this->db->insert_id();

然后使用此$last_id查询最后插入的用户。我希望这对你有帮助

$this->db->insert_id()检索前一个查询(通常是INSERT)为AUTO_INCREMENT列生成的ID。

$last_id = $this->db->insert_id();
$this->db->where('id', $last_id);
$query = $this->db->get('users');
if($query)
{
    $query = $query->result_array();
    //$query here contains the details of the last inserted user
}

我只是展示了如何获得最后一个用户插入的想法。我希望这对你有帮助