我试图使用PDO获取mysql_insert_id
。
到目前为止,我还没有找到一个适用于插入和更新的好例子。
有没有人有一个完整的代码作为例子?
答案 0 :(得分:8)
如果您需要 $pdo->lastInsertId()
来返回刚刚更新的行的ID(如果我需要,我会认真重新考虑我的设计,但是嘿......可能是真正的需要),做这样的更新:
UPDATE tablename SET some_column='somevalue',id=LAST_INSERT_ID(id);
答案 1 :(得分:3)
PDO::lastInsertId。返回最后插入的行或序列值的ID
答案 2 :(得分:0)
<?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>";
}
?>