[c/c++MySQL] mysql_query() 一直返回1,但命令行执行正确怎么解决

MySql 码拜 7年前 (2017-05-01) 2695次浏览
# 在命令行select没有问题:

mysql> select sc.uid from (select uid from stuinfo where sclass = "class3") sc w
here sc.uid = "52002"
    -> ;
+--+
| uid   |
+--+
| 52002 |
+--+
1 row in set (0.00 sec)

# 但在程序里却出错:

char * sql_stu_class = "select sc.uid from (select uid from stuinfo where sclass = "class3") sc where sc.uid = "52002"";
int ret_sql_class = mysql_query(mysql, sql_stu_class);

输出结果一直是ret_sql_class = 1.
# 另一个帖子里找了, 说是用了MYSQL_RES * result 没有free释放掉result,
# 但是本人这边没有用到, 单一个select语句就执行不了, 怎么办?
$ 紧接着跟着出错的是有用到MYSQL_RES 的select, 先执行段代码没有问题, 也有mysql_free_result(result).
$ 本人是先执行了这个没问题, 再去执行上面那句select出错后, 再次执行这个就不行了

解决方案

20

char * sql_stu_class = “select 1”;
int ret_sql_class = mysql_query(mysql, sql_stu_class);
看看返回值是什么?

20

connection 的状态是什么样? 还是就是到底有没有FREE?

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明[c/c++MySQL] mysql_query() 一直返回1,但命令行执行正确怎么解决
喜欢 (0)
[1034331897@qq.com]
分享 (0)