0

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

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;
}
4

2 回答 2

1

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

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

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

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

于 2013-05-06T00:57:13.957 回答
0

我不确定这是否可以解决您的问题,但您可以尝试这样的事情。

$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
}

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

于 2013-05-06T00:35:30.460 回答