当我执行在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