error:2014 Commands out of sync; you can't run this command now
2013-11-07 18:09
246 查看
如下错误:
分析原因: 前端ajax请求后台,共用同一个链接。
搜索别人的解决方案:http://blog.csdn.net/grass_ring/article/details/3499402
最终,我为每个请求,建立一个connection,并且在使用完毕后,就主动释放。
分析原因: 前端ajax请求后台,共用同一个链接。
搜索别人的解决方案:http://blog.csdn.net/grass_ring/article/details/3499402
用mysql C API 调用存储过程,并返回结果集。需要注意几个问题: 在建立链接的时候要加选项CLIENT_MULTI_STATEMENTS 或 CLIENT_MULTI_RESULTS,以便可以让query执行多个语句。 mysql_real_connect(mySQL,serverIP,user,password,database,serverPort,NULL,CLIENT_MULTI_STATEMENTS) 当query时可能产生错误error:2014 Commands out of sync; you can't run this command now Mysql文档中说明错误:Commands out of sync If you get 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 called mysql_free_result(). It can also happen if you try to execute two queries that return data without calling mysql_use_result() or mysql_store_result() in between. 当执行完query后,mysql将结果集放在一个result集中,产生以上问题的原因有两个: 一是未将MYSQL_RES所指对象释放,即在下次查询时要mysql_free_result(); 二是结果result集不为空,这个原因比较隐蔽。解决方法可以用如下写法: do { /* Process all results */ printf("total affected rows: %lld", mysql_affected_rows(mysql)); ... if (!(result= mysql_store_result(mysql))) { printf(stderr, "Got fatal error processing query/n"); exit(1); } process_result_set(result); /* client function */ mysql_free_result(result); } while (!mysql_next_result(mysql)); 还有个问题感觉比较奇怪,我调用一个存储过程,存储过程中就一句select Create procedure test() Begin Select * from test ; End ; 用以上方法处理结果集循环会执行两次,开始我只调了一次result= mysql_store_result(mysql)),导致以后执行query报2014错误。
最终,我为每个请求,建立一个connection,并且在使用完毕后,就主动释放。
相关文章推荐
- 解决error:2014 Commands out of sync; you can't run this command now
- 解决error:2014 Commands out of sync; you can't run this command now
- 解决error:2014 Commands out of sync; you can't run this command now
- error:2014 Commands out of sync; you can't run this command now
- 解决error:2014 Commands out of sync; you can't run this command now
- 解决error:2014 Commands out of sync; you can't run this command now
- ERROR (ProgrammingError) (2014, "Commands out of sync; you can't run this command now")
- mysql 2014 error (2014) Commands out of sync; You can't run this command now命令不同步错误解决
- python mysql 2014 Commands out of sync; you can't run this command now
- _mysql_exceptions.ProgrammingError:(2014, "commands out of sync; you can't run this command now")
- Mysql::Error: Commands out of sync; you can't run this command now: SHOW TABLES解决方案
- 使用otl,报错:mysql Commands out of sync; you can't run this command now
- C++ Mysql调用 错误:2014 :Commands out of sync; you can't run this command now
- C mysql (C API Commands out of sync; you can't run this command now)
- MySQL问题一则:Commands out of sync; you can't run this command now以及相关问题
- mysql_query error:Commands out of sync;you can't run this command now
- 解决mysql error:2014 Commands out of sync; you can't run this command now
- python mysql 2014 Commands out of sync; you can't run this command now
- Commands out of sync; you can't run this command now
- Commands out of sync; you can't run this command now SQL