Получить последний вставленный user_id в Zend DB

Как получить последний вставленный идентификатор пользователя? Я должен использовать этот идентификатор пользователя для вставки этого идентификатора пользователя в следующий запрос, что также должно быть сделано только в этой транзакции. мой запрос:

$db->beginTransaction ();
$sql = $db->query ( "INSERT INTO user( user_id, title)
 VALUES ( :p_user_id, :p_title )",
 array ( 'p_user_id' => '', 'p_title' => $title ) );

3 ответа

Решение

Вы можете использовать этот метод, чтобы получить последний идентификатор вставки:

$db->lastInsertId() 

С вашим кодом:

$db->beginTransaction ();
$sql = $db->query ( "INSERT INTO user( user_id, title) VALUES ( :p_user_id, :p_title )",
array ( 'p_user_id' => '', 'p_title' => $title ) );
$db->lastInsertId() ;

Используйте метод insert() для вставки данных. Также он возвращает ID.

$db = new Zend_Db_Table('user');
$lastInsertId = $db->insert(array('user_id' => '', 'title' => $title));

Попробуйте это, это должно работать:

$groupID = Engine_Db_Table::getDefaultAdapter()->lastInsertId();
Другие вопросы по тегам