2012-07-03 2 views
0

Я пытаюсь получить уникальный идентификатор для последнего добавленного значения в базу данных. Я пытался использовать LastInsertID bu. Я считаю, что это несовместимо с MySQL (http://www.php.net/manual/en/pdo.lastinsertid.php).Получение идентификатора для последнего вставленного значения

$sql = "INSERT INTO discussion_links (link_url, link_title, link_source, publish_date, link_side, img_link) VALUES (?, ?, ?, ?, ?, ?)"; 
$sth=$db->prepare($sql); 
$sth->execute(array($_POST['OP_link_url'], $_POST['OP_title'], $_POST['OP_source'], $_POST['OP_pub_date'], $_POST['OP_disc_side'], $_POST['OP_img_url'])); 
$op_link_id = $sth->$db->lastInsertID(); 

Здесь я получаю сообщение об ошибке: PHP Catchable фатальная ошибка: Объект класса PDO не может быть преобразован в строку

Я также попытался сделать эту последнюю строку как:

$op_link_id = $sth->fetch(PDO::lastInsertID); 

И

$temp = $sth->fetch(PDO::FETCH_ASSOC); 
$temp_op_link_id = $temp['link_id']; 

Но ни один из них не работал (получил некоторую ошибку SQL Server 2002 2053).

Спасибо,

+0

$ ID = $ this-> db-> insert_id(); попробуй это? – dude

+0

Возможный дубликат [Как получить последний вставленный ID?] (Http://stackoverflow.com/questions/7008656/how-to-get-the-last-inserted-id) – Hamish

+0

@dude, спасибо за быстрый ответ , Я попытался сделать это сразу после кода PHP и получил ошибку сервера: PHP Неустранимая ошибка: использование $ this, если не в контексте объекта. Мне нужно получить этот идентификатор, чтобы использовать его в другом запросе сразу. – Danconia

ответ

4

lastInsertID() должен быть вызван, например PDO.

$op_link_id = $sth->$db->lastInsertID(); 

Должно быть

$op_link_id = $db->lastInsertID(); 
+0

Спасибо, что сработал !!! – Danconia

2

Попробуйте

$op_link_id = $db->lastInsertID(); 
+0

Спасибо, что сделал трюк – Danconia

Смежные вопросы