2010-12-12 6 views
2

내 PHP/MySQL 코드에서 많은 고유 키 열이있는 테이블 (InnoDB)에 새 레코드를 삽입합니다. 삽입이 실패하면 (ER_DUP_ENTRY로) I 은 고유하지 않은 열의 값을 알아야합니다.구문 분석 mysql 오류 메시지 - 올바른 방법입니까?

이 작업을 수행하기 위해서는 얻은 오류 메시지에서 % d 값을 추출해야한다고 들었습니다. "키 % d에 대한 중복 항목 '% s'이 (가) 있습니다.

이 방법은 효과가 있지만 해결책이 마음에 들지 않습니다. 일부 문자열을 구문 분석/정규식은 내가 항상 피하려고 간단한 작업에 불필요한 복잡성을 제공합니다. 이제 질문 : 이것이 올바른 방향인가? 더 나은 해결책이 없습니까?

답변

0

오류 메시지뿐 아니라 해당 오류 코드도 얻을 수 있습니다. 예를 들어 results for PHP functions containing errno을 참조하십시오.

+0

오류 코드가 아닌 오류 메시지를 의미했습니다. 나는 주제를 바꿨다. – spajak

+0

@spajak : 다른 방법이 없다고 생각합니다. 하지만 당신은'sprintf'의 역으로'sscanf'를 시도 할 수 있습니다. – Gumbo