Справочное руководство по MySQL
Если получена ошибка Commands out of sync; you can't run this
command now в клиентском коде, то клиентские функции вызываются в
неправильном порядке!
Это может произойти, например, если используется mysql_use_result() и
делается попытка выполнить новый запрос до того, как вызвана
mysql_free_result(), или если клиент пытается выполнить два возвращающих
данные запроса без обращения к mysql_use_result() либо
mysql_store_result() в промежутке между ними.