728x90
반응형
문제점 및 증상
- Maria DB로 Stored Procedure를 호출하고, 다른 SELECT 문을 호출하였더니, "Commands out of sync; you can't run this command now" 오류가 발생함
- 여러 가지 방법을 모두 사용하여도 동일한 결과만 나타남.
문제점 분석
- 여러 가지 검색한 결과, 사용이 끝나지 않은 리소스 때문에 그런 것이라고는 나오는데, 리소스 사용을 끝내는 방법은 찾을 수 없었음
수정 내용
- 최초 호출하는 저장 프로시저에서 INSERT를 여러 번 수행하고, 마지막으로 삽입된 테이블의 LAST_INSERT_ID() 값을 반환하는 형태였음
- mysql_fetch_row() 의 호출결과가 없을 때까지도 호출해 봤으나, 별 차이가 없었음
- 당연히 저장 프로시저 내의 순서대로 PHP 단에서 순차적으로 처리하여도 가능하였을 터나 내키지 않음
- 결론적으로 다음과 같이 아예 DB와의 연결을 종료했다가 다시 연결하는 방식으로 해결함
참고자료
- B.5.2.14 Commands out of sync
- 22.2.3.71 mysql_use_result()
- MySQL - Commands out of sync; you can't run this command now
- #2014 - Commands out of sync; you can't run this command now
'DB > MySQL' 카테고리의 다른 글
[MariaDB] VARBINARY 형 비밀번호 처리에 관하여 (0) | 2016.09.07 |
---|---|
[MariaDB] BIT 형 컬럼을 PHP에서 올바로 표시하기 (0) | 2016.09.06 |
MySQL 관리 (0) | 2014.04.17 |
삭제된 데이터 복구하기 (0) | 2010.07.11 |
FreeBSD 6.x에서 MySQL 5.0.x 설치기 (0) | 2007.11.12 |