mysql执行sql语句时有时会出现CR_COMMANDS_OUT_OF_SYNC错误(2014);
提示语为:commands out of sync; you can't run this command now;
其实这是因为上一个sql执行返回了多个结果集,但没有把结果都取出来,就执行了新的sql语句,就会产生这个错误,即使其余多个结果集为空也会产生这个错误;
解决方案:
1)在sql语句执行后,用mysql_store_result()取出结果集,然后用mysql_next_result()检查是否有剩余结果集,如果有就再用mysql_store_result()把剩余结果集取出来
2)在sql语句执行后,用mysql_store_result()取出结果集,然后用 mysql_free_result()清空结果集,再mysql_next_result()判断是否有剩余
相关说明:http://dev.mysql.com/doc/refman/4.1/en/mysql-use-result.html
本文解析了MySQL中出现CR_COMMANDS_OUT_OF_SYNC错误(2014)的原因及解决办法,该错误通常由于未完全处理完上一个SQL语句产生的多个结果集即执行新SQL语句导致。
1271

被折叠的 条评论
为什么被折叠?



