Получить последний вставленный 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();