2013-10-20 8 views
0

PHP 스크립트가 있는데 실행하면 문자 패치 이름이라는 테이블에 패치이라는 테이블에 문자열을 삽입합니다. 표는mysql_insert_id(); 0을 반환합니다. 자동 증가가 잘 작동합니다.

모든 것이 잘 작동하고 예상대로 inserted.The PATCH_ID 단위입니다 PATCH_ID라는 자동 증가 ID가 있습니다. 쉽게

그러나 에 mysql_insert_id() 에코 밖으로 0

코드

mysqli_query($con,"INSERT INTO patches (patch_name) 
VALUES ('hi')"); 


$insertID = mysql_insert_id(); 


echo $insertID; 
+0

기능을 살펴보십시오. API를 혼동하지 마십시오. mysql() 함수는 mysqli() 함수와 다르다. – BLaZuRE

+0

먼저 mysqli_ *와 두번째 줄 mysql_ *을 사용한다. 차이점을보세요. '-i' – Styxxy

+0

은 PATCH_ID를 기본 키로 사용합니까? 이미 mysqli_ * 함수를 사용하고있는 것처럼 mysqli_insert_id()를 더 잘 사용하십시오 .. – Nelson

답변

3

는 도움이되기를 바랍니다.

mysqli_insert_id을 참조하십시오.

+0

처음에는이 작업에 지쳤으나 $ con (연결 인수)을 추가해야한다는 것을 알지 못했습니다. 따라서 다른 방법을 시도한 이유는 다음과 같습니다. mysql_insert_id(); – William

+1

우리는 항상 배우기 때문에 문서와 예제를주의 깊게 읽으십시오. 그러면 모든 것이 도움이 될 것입니다. –

2

는 : 그들을 혼합하지 마십시오, 하나 개의 확장 기능을 사용하십니까.

쿼리에 MYSQLI를 사용하고 삽입 된 ID에 MYSQL을 사용합니다. 이는 작동하지 않습니다. 당신은 * 그래서 더

mysqli_insert_id($con); 

사용 mysqli_를 사용하는

+0

정보를 제공해 주셔서 감사합니다. 나는 그것들이 상호 교환 가능하고 그것으로 생각하지 않는다고 생각했다. – William

+0

@William MySQL (ext/mysql)은 가까운 장래에 삭제 될 예정이고, 더 이상 사용되지 않는 확장 기능입니다. MySQLi는 향상된 버전입니다. – ComFreek

+0

마지막으로 삽입 된 ID는 사용중인 연결에 바인딩됩니다. 그리고 연결은 일치하는 mysql 확장에 바인딩됩니다. – Sven

관련 문제