使用mysql_use_result()时,必须执行mysql_fetch_row()直到返回NULL值,否则,未获取的行将作为下一个查询的结果集的一部分并返回。如果忘记执行此操作,C API 会报错Commands out of sync; you can't run this command now! 不能将mysql_data_seek()、mysql_row_seek()、mysql_row_tell()、mysql_num_rows(...
下面是一个简单的C程序示例,演示如何使用mysql_use_result方法来执行查询并获取结果: #include<mysql.h>#include<stdio.h>intmain(){MYSQL*conn=mysql_init(NULL);if(conn==NULL){fprintf(stderr,"mysql_init failed\n");return1;}if(mysql_real_connect(conn,"localhost","user","password","database",0...
51CTO博客已为您找到关于mysql_use_result不会返回空的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及mysql_use_result不会返回空问答内容。更多mysql_use_result不会返回空相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
mysql_use_result的使用 对于每个可以产生一个结果集的命令(比如select、show、describe, explain, check_table等等),发起mysql_query或者mysql_real_query之后,你都需要调用mysql_store_result或者mysql_use_result语句,处理完结果集后需要使用mysql_free_result释放。
与mysql_use_result() 相比,mysql_store_result() 有着较高的内存和处理需求,因为是在客户机上维护整个结果集,所以内存分配和创建数据结构的耗费是非常巨大的,要冒着溢出内存的危险来检索大型结果集,如果想一次检索多个行,可用 mysql_use_result()。mysql_use_result() 有着较低的内存需求,因为只需给每次处理的...
在嵌入式libmysqld服务器中,由于内存随着每次检索行的增加而动态增长,直到mysql_free_result()调用,内存效益会有所降低。mysql_use_result()的返回值为MYSQL_RES结果结构,若出现错误,返回NULL。可能出现的错误包括:CR_COMMANDS_OUT_OF_SYNC - 命令执行顺序不正确。 CR_OUT_OF_MEMORY - 内存溢出...
函数mysql_store_result()与mysql_use_result()类似,它们都有连接处理程序参数,并返回结果集。但实际上两者间的区别还是很大的。两个函数之间首要的区别在于从服务器上检索结果集的行。 当调用时,mysql_store_result()立即检索所有的行,而mysql_use_result()启动查询,但实际上并未获取任何行,mysql_store_result(...
两者的主要区别是,mysql_use_result()的结果必须“一次性用完”,也就是说用它得到一个result后,必须反复用mysql_fetch_row()读取其结果直至该函数返回null为止,否则如果你再次进行mysql查询,会得到“Commands out of sync; you can't run this command now”的错误。而mysql_store_result()得到result是存下来的...
应用方面两者的主要区别是,mysql_use_result()的结果必须“一次性用完”,也就是说用它得到一个result后,必须反复用 mysql_fetch_row()读取其结果直至该函数返回null为止,否则如果你再次进行mysql查询,会得到“Commands out of sync; you can’t run this command now”的错误。而mysql_store_result()得到result是...