我正在尝试使用PDO获取mysql_insert_id
。到目前为止,我还没有找到一个能够在插入和更新时都有效的好例子。请问有人可以提供一个完整的代码示例吗?
如果你需要获取$pdo->lastInsertId()
返回的是刚刚更新过的行的id(如果我需要它,我会认真重新考虑我的设计,但是嘿... 可能真的需要),那么可以按照以下方式进行更新:
UPDATE tablename SET some_column='somevalue',id=LAST_INSERT_ID(id);
PDO::lastInsertId。返回最后插入行或序列值的ID。
name
= 'bla' ORDER BY date
DESC LIMIT 1”上执行了更新查询,并希望获得它更新的ID。 - Sander Mangelon_update
的新列。更新后,使用 ORDER BY on_update
进行调用。 - Wahyu Kristianto<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', 'usrname', 'passwrd');
$stmt = $dbh->prepare("INSERT INTO test (name, email) VALUES(?,?);");
try {
$dbh->beginTransaction();
$stmt->execute( array('user', 'user@example.com'));
$dbh->commit();
print $dbh->lastInsertId();
} catch(PDOExecption $e) {
$dbh->rollback();
print "Error!: " . $e->getMessage() . "</br>";
}
} catch(PDOExecption $e) {
print "Error!: " . $e->getMessage() . "</br>";
}
?>
UPDATE
语句前后,通过 mysql_insert_id 获取到的值是相同的吗? - Nathaniel Ford