Подтвердить что ты не робот

Получение вставки id со вставкой PDO MySQL

Im, чтобы справиться с основами PDO.

Однако я пытаюсь получить идентификатор вставленной строки, Im используя:

$query = $system->db->prepare("INSERT INTO {$this->_table} (name,description) VALUES (:name,:description)");
$query->execute(array('name'=>$name,'description'=>$description));

Учебники, с которыми я столкнулся, касаются транзакций, однако я не использую транзакции!

4b9b3361

Ответ 1

Возможно, вы ищете lastInsertId. "Возвращает идентификатор последней вставленной строки или значения последовательности".

$insertedId = $system->db->lastInsertId() ;

Ответ 2

Обратите внимание при использовании транзакций.

Если вы вызываете lastInsertedId после вызова commit, lastInsertedId возвращает 0 вместо id. Вызовите lastInsertedId сразу после execute, но до commit.

$this->db->beginTransaction();
$this->stmt->execute();
$id = $this->db->lastInsertId();
$this->db->commit();