选择最后插入的ID

6

我正在插入一条记录,想使用最后插入的记录的ID。

这是我尝试过的:

$sql = 'INSERT INTO customer
                (first_name, last_name, email, password, 
                date_created, dob, gender,  customer_type)
        VALUES(:first_name, :last_name, :email, :password, 
                :date_created, :dob, :gender, :customer_type)' 
        . ' SELECT LAST_INSERT_ID()' ;

我遇到了错误:

您的SQL语法有误;请检查与您的MySQL服务器版本相对应的手册,以获取正确的语法使用 'SELECT LAST_INSERT_ID()。'

请问有哪位可以告诉我我的错误在哪里? 谢谢!


注意:我将此设置为重复的问题参考。但是,建议您使用PDO或MySQLi而不是老式的mysl_ *。 - Francisco Presencia
2个回答

15

看看mysql_insert_id()

mysql_query($sql);
$id = mysql_insert_id();

在执行INSERT语句的mysql_query()命令后运行该函数,其结果将是刚刚创建的行的ID。


实际上我现在遇到了一个问题, mysql_insert_id() [function.mysql-insert-id]:用户'ODBC'@'localhost'被拒绝访问。 - chupinette

-1

您可以执行另一个查询:

$last_id = "SELECT LAST_INSERT_ID()";

或者尝试在您的查询中添加;

INSERT INTO customer (first_name, last_name, email, password, date_created, dob, gender, customer_type) VALUES(:first_name, :last_name, :email, :password, :date_created, :dob, :gender, :customer_type)<b>;</b>' . ' SELECT LAST_INSERT_ID()';


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接