Я получаю доступ к основам PDO.
Однако Im пытается получить идентификатор вставленной строки, Im используя:
$query = $system->db->prepare("INSERT INTO {$this->_table} (name,description) VALUES (:name,:description)"); $query->execute(array('name'=>$name,'description'=>$description));
Учебники, с которыми я столкнулся, касаются транзакций, однако я не использую транзакции!
Вероятно, вы ищете lastInsertId . «Возвращает идентификатор последней вставленной строки или значения последовательности».
$insertedId = $system->db->lastInsertId() ;
Обратите внимание при использовании транзакций.
Если вы вызове lastInsertedId
после вызова commit
, lastInsertedId
вернет 0 вместо id. Вызов lastInsertedId
сразу после execute
, но до commit
.
$this->db->beginTransaction(); $this->stmt->execute(); $id = $this->db->lastInsertId(); $this->db->commit();