2010-02-15 8 views
5

레코드를 삽입하고 있으며 삽입 된 마지막 레코드의 ID를 사용하고 싶습니다.마지막 삽입물 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()'근처에서 사용되도록하십시오. 내 실수는 어디에서 보여 줄 수 있습니까? 감사합니다.

+0

참고 : 나는 중복 된 질문의 참고 자료로이를하고 있어요 . 그러나 평범한 구식 mysl_ * –

답변

12

아웃 mysql_insert_id()

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

당신이는 mysql_query에서 INSERT 문을 실행 한 후 그 함수가 실행되면 검사()의 결과가 방금 만든 행의 ID가됩니다 명령.

당신은 다른 쿼리 할 수 ​​
+0

대신 PDO 또는 MySQLi를 사용하는 것이 좋습니다! 정말 고마워요! :) – chupinette

+0

@ chupinette 기꺼이 도와 드리겠습니다. – nortron

+0

사실 지금 메신저에 문제가 있습니다. mysql_insert_id() [function.mysql-insert-id] : 'ODBC'@ 'localhost'사용자에 대한 액세스가 거부되었습니다. – chupinette

0

:

$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()';

관련 문제