解决error:2014 Commands out of sync; you can't run this command now
来源:互联网 发布:php后期静态绑定有啥用 编辑:程序博客网 时间:2024/06/05 06:00
以前的csdn密码忘了,博客搬家,把以前解决的一个mysql 2014的错误也拉过来。
原地址:http://blog.csdn.net/grass_ring/archive/2008/12/11/3499402.aspx
前两天搞mysql的东西,用mysql提供的C API 访问,遇到些问题,在这里分享一下,希望对其他人有帮助。
用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错误。
- 解决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
- 解决mysql 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命令不同步错误解决
- 如何解决mysql 中出现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错误
- LR错误: Commands out of sync; you can't run this command now 解决方法
- Commands out of sync; you can't run this command now
- mysql: Commands out of sync; you can't run this command now
- python Commands out of sync; you can't run this command now
- mysql 出现 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
- 养成良好的习惯
- HP-UX 命令 及用法【转帖】
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
- HP-UX 命令 及用法【转帖】
- 使用oracle的olap函数优化分页查询
- 解决error:2014 Commands out of sync; you can't run this command now
- oracle数据库的优化-关于rownum操作
- 安装Android的Eclipse插件ADT遇到错误“requires 'org.eclipse.gef 0.0.0' but it could not be found”
- oracle日期函数集锦
- Linux系统启动的基本过程和步骤
- SRM 459 500p && hust1080 NumberPyramids
- add user to group
- PHP之正则表达式入门
- 个人意见:ASIC 前端功能验证等级与对应年薪划分