Как мне ссылаться на строку, которую я только что вставил в таблицу MySQL? - PullRequest
0 голосов
/ 23 марта 2012

У меня есть эта функция в модели 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?Я мог бы получить последний ряд и добавить 1, но я думаю, что могут быть ошибки параллелизма.

Ответы [ 5 ]

6 голосов
/ 23 марта 2012

Очень простой ответ, на самом деле не нужно больше 30 символов, не так ли?

$this->db->insert_id();
5 голосов
/ 23 марта 2012

может быть, вам нужно что-то вроде этого

    $this->db->insert_id();  
1 голос
/ 23 марта 2012

Код для вставки:

$sql = "INSERT INTO videos (title) VALUES(NULL, '$title', '$description')";
$this->db->query($sql);

Более подробная информация по запросам доступна по адресу: http://codeigniter.com/user_guide/database/queries.html

1 голос
/ 23 марта 2012

Попробуйте что-то подобное:

$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];
}
0 голосов
/ 06 марта 2013

Другим обходным решением является то, что вы можете просмотреть таблицу видео в своей базе данных и сделать свой идентификатор видео в качестве автонумера, это автоматически сгенерирует идентификатор для вашего видео, а затем вы можете попробовать это:

//on your model
$sql = "INSERT INTO videos (title,description) VALUES('$title', '$description')";
$this->db->query($sql);

//retrieve new video id
$this->db->insert_id() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...