我在Code Igniter模型中有这个功能,可以创建一个新的“视频”。
// Creates a new video.
public function newVideo($title, $description) {
$this->db->query("INSERT INTO videos VALUES (NULL, '$title', '$description')");
return // id of this new row
}
如何在MySQL表中获取此新行的ID?我可以得到最后一行并添加1,但我相信可能存在并发错误。
答案 0 :(得分:6)
非常简单的答案真的不需要超过30个字符吗?
$this->db->insert_id();
答案 1 :(得分:5)
也许你需要这样的东西
$this->db->insert_id();
答案 2 :(得分:1)
尝试类似的东西:
$lastID = -1; //That's where it'll be stored
$query = "SELECT LAST_INSERT_ID()";
$result = mysql_query($query);
if ($result)
{
$row = mysql_fetch_row($result);
$lastID = $row[0];
}
答案 3 :(得分:1)
插入代码是:
$sql = "INSERT INTO videos (title) VALUES(NULL, '$title', '$description')";
$this->db->query($sql);
有关查询的更多信息,请访问:http://codeigniter.com/user_guide/database/queries.html
答案 4 :(得分:0)
另一种解决方法是,您可以查看数据库中的视频表,并将视频ID设为自动编号,这会自动为您的视频生成ID,然后您可以尝试:
//on your model
$sql = "INSERT INTO videos (title,description) VALUES('$title', '$description')";
$this->db->query($sql);
//retrieve new video id
$this->db->insert_id()