DB/MySQL
[MariaDB] Commands out of sync 문제
채윤아빠
2016. 9. 4. 16:09
문제점 및 증상
- 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
728x90
반응형