MySQL을 사용하던 서버가 Commands out of sync 라는 에러를 내며서 정상적으로 동작하지 않는다. 무슨 일인가 싶어 구글에게 물어 봤다. 그러니 나오는 대답..
예를 들자면, mysql_use_result() 함수를 호출하고 mysql_free_result() 호출 하기 이전에 새로운 쿼리를 실행 하면 이런 현상이 발생한다. 또 다른 경우로 리턴 데이터가 있는 두 개의 쿼리를 mysql_use_result()이나 mysql_store_result() 없이 연속으로 호출 하면 같은 현상이 발생한다.
해석이 제대로 된건지는 잘 모르겠다만...들어 보니 thread safe가 제대로 맞지 않아서 이렇게 되었다고 한 것 같은데...
언제 코드를 또 다 살펴 보나...-_-;;;
If you get만일 Command out of sync; you can't run this command now 라는 메시지를 클라이언트 코드에서 보게 된다면, 클라이언트 함수의 순서를 잘 못 호출하고 있는 것이다!!Commands out of sync; you can't run this command now
in your client code, you are calling client functions in the wrong order.This can happen, for example, if you are using
mysql_use_result()
and try to execute a new query before you have calledmysql_free_result()
. It can also happen if you try to execute two queries that return data without callingmysql_use_result()
ormysql_store_result()
in between.
예를 들자면, mysql_use_result() 함수를 호출하고 mysql_free_result() 호출 하기 이전에 새로운 쿼리를 실행 하면 이런 현상이 발생한다. 또 다른 경우로 리턴 데이터가 있는 두 개의 쿼리를 mysql_use_result()이나 mysql_store_result() 없이 연속으로 호출 하면 같은 현상이 발생한다.
해석이 제대로 된건지는 잘 모르겠다만...들어 보니 thread safe가 제대로 맞지 않아서 이렇게 되었다고 한 것 같은데...
언제 코드를 또 다 살펴 보나...-_-;;;