2012-10-14 2 views
0

내 질문에 오늘은 내 DB에 새 줄을 삽입 한 후 ID를 반환하려고합니다.PDO returing new ID 오류

$sql = ('INSERT INTO `tSections`(`sSection`, `pCity_id`) VALUES (:sSection, :pCity_id) RETURNING pSection_id'); 
$new_section = $DBH->prepare($sql); 

반환하는 pSection_id가 없으면 정상적으로 작동합니다. 어떤 아이디어 나 해결책. 나는 단순한 것을 잊어 버렸다고 가정하고있다.

곧 연락 드리겠습니다.

은 SQLSTATE '메시지

catch되지 않은 예외'PDOException '를 제공하는 오류입니다 [42000] : 구문 오류 또는 액세스 위반 : 1064 당신은 당신의 SQL 구문에 오류가 있습니다; 올바른 구문은

답변

5

에 라인 1 '에서'pJob_Type_id을 반환 인 '근처에서 사용하는 그런 일이 MySQL의에서 RETURNING으로 없다에 대한 귀하의 MySQL 서버 버전에 해당하는 설명서를 확인.

당신은 PDO::lastInsertID()을 찾고 있습니다.

+0

미안 내가 해결책이라고 생각했던 것을 읽을 때 나는 빨리 읽는다. "Postgres에서 8.2 버전부터 Postgress와 함께 제공되는 RETURNING을 사용하여 ID를 얻는 좋은 해결책이 있다고 생각합니다. 아래 예제에서 내 테이블의 기본 키와 함께"돌아 오는 "insert 절에 다음을 추가합니다. 마지막으로 삽입 된 ID의 값을 가진 배열을 가져 오는 작업을 수행 한 후 Tolure