我試圖使用PDO獲取mysql_insert_id
。 到目前爲止,我還沒有找到一個適用於插入和更新的好例子。 有沒有人有一個完整的代碼作爲例子?使用PDO獲取插入和更新ID
回答
PDO::lastInsertId。返回最後插入的行或列值的ID
謝謝Kristianto,我可以找回最後插入的行,我無法取回更新的ID。您是否有一些示例代碼? 我可能做錯了,使用php.net代碼 –
如何在更新之前獲取ID?最後更新行的ID與您用於查找和更新該行的ID相同。上次插入= AUTO_INCREMENT,但最後更新的ID不是。 –
其實我更新查詢「WHERE'name' ='bla'ORDER BY'date' DESC LIMIT 1」,我想獲取它更新的ID。 –
如果需要$pdo->lastInsertId()
返回剛剛更新了(我會認真考慮我的設計,如果我需要,但哎...可能是一個真正的行的id需要),做這樣的更新:
UPDATE tablename SET some_column='somevalue',id=LAST_INSERT_ID(id);
你對設計部分是絕對正確的,在這一點上我不會看到另一個解決方案 –
你讓我思考和是的我並不真的需要這個:P – Patareco
<?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', '[email protected]'));
$dbh->commit();
print $dbh->lastInsertId();
} catch(PDOExecption $e) {
$dbh->rollback();
print "Error!: " . $e->getMessage() . "</br>";
}
} catch(PDOExecption $e) {
print "Error!: " . $e->getMessage() . "</br>";
}
?>
感謝代碼,這似乎工作。只有UPDATE纔會返回一個ID,這對於PDO來說是不可能的嗎? –
- 1. 獲取mysql最後插入ID,插入記錄後使用PDO
- 2. PDO插入和更新
- 3. 獲取PDO中更新的行的ID
- 4. 如何獲取插入行的ID和更新行?
- 5. 使用PDO插入和the_geom
- 6. 使用PDO/MySQL獲取不止最後一個插入ID使用PDO/MySQL獲取不止最後一個插入ID
- 7. 運行插入查詢獲取Id並使用Id更新另一個表
- 8. 使用SELECT和ON複製密鑰更新插入到PDO
- 9. 插入更新pdo mysql查詢並獲取最後插入的ID,如果需要
- 10. 插入重複更新獲取「新」生成的ID
- 11. SQL Server插入語句使用INSERTED獲取新ID和現有ID
- 12. 使用C#獲取插入行的ID
- 13. 如何獲取購物車插入ID和更新的購物車ID magento
- 14. 如何獲取插入行的ID(新)
- 15. PDO獲取插入的最後一個ID
- 16. 使用'pg'獲取新插入記錄的id gem
- 17. 獲取新插入記錄的ID,使用SqlDataAdapter
- 18. 如何使用openxml獲取新插入的行的ID?
- 19. 如何使用Excel VBA獲取新插入記錄的ID?
- 20. 插入,獲取ID並同時插入
- 21. 批量插入/更新PDO MySQL查詢
- 22. 如何插入或更新多行 - PDO
- 23. Python Twistd MySQL - 獲取更新行ID(不插入)
- 24. 從插入/更新查詢獲取最後插入的ID返回
- 25. C#插入MDB數據庫獲取最新插入ID
- 26. 獲取後插入ID春
- 27. TSQL獲取插入的ID
- 28. 獲取插入的ID MYSQL
- 29. 插入後獲取ID
- 30. 獲取PDO連接ID
你意識到你從mysql_insert_id獲得的價值是相同的前後SQL'UPDATE',是否正確? –
你沒有看到這篇文章有什麼不對嗎?您正嘗試使用** mysql _ ** insert_id使用** PDO ** –
當使用INSERT ... ON DUPLICATE KEY UPDATE時,沒有辦法獲取沒有額外SELECT語句更新的行的id。 – 2012-06-19 18:07:52