Доступ к последней созданной строке в PHP / MySQL - PullRequest
3 голосов
/ 31 августа 2009

Как получить доступ к строке, которая только что была вставлена ​​в БД с помощью PHP / MySQL?

У меня есть:

    $sql = 'INSERT INTO `jos_db`.`jos_sections` (`id`,  `name`) VALUES (NULL, \'foo\')';
    mysql_query($sql, $dbi);

    bar();

Как получить доступ к новой строке в bar ()?

Ответы [ 4 ]

10 голосов
/ 31 августа 2009

Если для вашего столбца 'id' используется автоматическое увеличение, вы можете использовать mysql_insert_id :

Получает идентификатор, сгенерированный для AUTO_INCREMENT столбец по предыдущему INSERT запрос.


Пример, приведенный в руководстве, выглядит следующим образом:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
3 голосов
/ 31 августа 2009

Используйте функцию mysql_insert_id (), чтобы выбрать последнюю строку, вставленную в базу данных.

SELECT rows from table where id = last_inserted_id
3 голосов
/ 31 августа 2009

Вы можете получить последний элемент, вставленный с помощью mysql_insert_id ()

http://us.php.net/manual/en/function.mysql-insert-id.php

1 голос
/ 31 августа 2009

Использование функции PHP mysql_insert_id() вернет идентификатор последней вставленной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...