使用插入PDO MySQL获取插入ID

时间:2010-09-18 16:49:31

标签: php sql pdo

我正在掌握PDO的基础知识。

但是我试图获取插入行的ID,我使用:

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

我遇到的教程是关于交易的,但是我没有使用交易!

2 个答案:

答案 0 :(得分:33)

你可能正在寻找lastInsertId。 “返回最后插入的行或序列值的ID。”

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

答案 1 :(得分:10)

使用交易时要注意。

如果您在致电lastInsertedId后致电commitlastInsertedId将返回0而不是ID。 在lastInsertedId之后,execute之前调用commit

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