我在下面有以下代码,我不确定修改它的最佳方法,以便它将最后输入的行显示在数据库中。
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;
}
答案 0 :(得分:1)
您的查询已经获得了最后插入的行,但在WHERE语句中有一些限制。
如果你想要真正的最后一行,只需删除WHERE语句,如下所示:
$query = $this->db->query("SELECT * FROM {$this->_table['users']} user ORDER BY user_date DESC LIMIT 1");
你似乎对SQL查询了解不多,所以我建议你阅读一些关于它的tuto。
答案 1 :(得分: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
}
我只是展示了如何插入最后一个用户的想法。我希望这会对你有所帮助