當我執行在MySQL控制檯下面,它工作正常:通過PHP使用LAST_INSERT_ID()?
INSERT INTO videos (embed_code) VALUES ('test code here');
SELECT LAST_INSERT_ID();
但是,當我通過PHP執行上面的查詢,結果是空的。
在數據抽象下,我使用名爲DB
的數據庫訪問類。這是我如何通過PHP嘗試了上述疑問:
$embedCode = htmlentities($_POST['embed_code']);
//Insert video in database **WORKS**
DB::query("INSERT INTO videos (embed_code) VALUES ('$embedCode');");
//Retrieve id **DOES NOT WORK**
$row = DB::getSingleRow("SELECT LAST_INSERT_ID();");
$videoId = $row[0];
這是不可靠的,我由embed_code選擇新的標識,因爲embed_code可以重複。
謝謝!
是的,你是對的。我使用的是PDO,它有一個'lastInsertId()'方法!我沒有想到這一點。謝謝! – 2010-08-06 16:19:13