2014 Commands out of sync; you can't run this command now

2024-02-23 01:38
文章标签 run 2014 command sync commands

本文主要是介绍2014 Commands out of sync; you can't run this command now,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


错误简介

在使用mysql_query进行查询操作时,报错如下:

2014 Commands out of sync; you can't run this command now

错误原因

第一次调用mysql_query/mysql_real_query之后,没有进行mysql_store_result操作,导致的此错误。

如下代码可以复现:

#include <mysql/mysql.h>
#include <iostream>
#include <unistd.h>
using namespace std;int main()
{MYSQL* conn;MYSQL_RES* res;MYSQL_ROW row;char* query="select * from ashe where id>3";conn=mysql_init(0);if(!mysql_real_connect(conn,"192.168.30.129","ashe","ashe","ashe",13307,NULL,0)){cout << mysql_errno(conn) << " " << mysql_error(conn) <<endl;return -1;}int i=0;while(i<1000000){cout << i <<endl;if(mysql_query(conn,query)){cout << mysql_errno(conn) << " " << mysql_error(conn)  << endl;return -1;}else{
//            res=mysql_store_result(conn);
//            while(row=mysql_fetch_row(res))
//            {
//                cout << row[0] <<endl;
//                cout << row[1] <<endl;
//            }
//            mysql_free_result(res);
//            mysql_free_result(res);}i++;}}

解决方案

在每一次query之后,都进行一次store操作。

如上所说的方法只能解决如题所示的问题,但是也会造成内存泄漏,因为每一次执行mysql_store_result都会重新分配新的内存,并没有执行mysql_free_result进行内存释放。所以需要在执行mysql_store_result之后,需要进行一次释放操作。

但是,如果执行两次mysql_free_result,又会引发段错误。

这篇关于2014 Commands out of sync; you can't run this command now的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737133

相关文章

python subprocess.run中的具体使用

《pythonsubprocess.run中的具体使用》subprocess.run是Python3.5及以上版本中用于运行子进程的函数,它提供了更简单和更强大的方式来创建和管理子进程,本文就来详细... 目录一、详解1.1、基本用法1.2、参数详解1.3、返回值1.4、示例1.5、总结二、subproce

ZOJ Monthly, August 2014小记

最近太忙太忙,只能抽时间写几道简单题。不过我倒是明白要想水平提高不看题解是最好的了。 A  我只能死找规律了,无法证明 int a[50002][2] ;vector< vector<int> > gmax , gmin ;int main(){int n , i , j , k , cmax , cmin ;while(cin>>n){/* g

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

2014年暑假培训 - 数论

A银河上的星星 /**************************************************************     Problem: 1014     User: DoubleQ     Language: C++     Result: Accepted     Time:190 ms     Memor

2014暑假集训搜索专题

A - 漫步校园 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Description LL最近沉迷于AC不能自拔,每天寝室、机房两点一线。由于长时间坐在电脑边,缺乏运动。他决定充分利用每次从寝室到机房的时间,在校园里散散步。整个HDU校园呈方形布局,可划

[置顶] 2014训练计划进阶版

动态规划: 区间dp,树状dp,数位dphdu3555, sgu258, sgu390  队列优化: zoj3399 最小表示法的状态压缩DP: spoj2159  专题链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=38881#overview 专题链接: http://acm.hust.edu.cn/vjudg

[置顶] 2014训练计划

每个专题结束后会有5小时的专题赛~ 1、hustOJ目前支持谷歌、火狐浏览器等部分浏览器。 2、欢迎吐槽~ 3、推荐该阶段用书(以下具体算法实现多数可在此书中找到详解):算法竞赛入门经典之训练指南(刘汝佳) 4、题解报告:专题中的题目多是经典题目,百度搜索即有详细解答~ 5、专题相关知识点红字标出,建议先百度红字部分,有助于专题学习~ 6、专题时间会在"ACM 今天你AC了吗?"(12