调用mysql_real_query()或mysql_query()后,必须为成功生成结果集的每个语句(SELECT、SHOW、DESCRIBE、EXPLAIN、CHECK TABLE等)调用mysql_store_result()或mysql_use_result()。 在处理完结果集后,必须调用mysql_free_result()。 不需要为其他语句调用mysql_store_resul
下面是一个使用mysql_store_result函数获取查询结果的示例代码: #include<mysql.h>#include<stdio.h>intmain(){MYSQL mysql;MYSQL_RES*result;MYSQL_ROW row;mysql_init(&mysql);if(!mysql_real_connect(&mysql,"localhost","user","password","database",0,NULL,0)){fprintf(stderr,"Error connecting to ...
两者的主要区别是,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_store_result(MYSQL *mysql) Description After invoking mysql_real_query() or mysql_query(), you must call mysql_store_result() or mysql_use_result() for every statement that successfully produces a result set (SELECT, SHOW, DESCRIBE, EXPLAIN, CHECK TABLE, and so forth). You must ...
mysql_store_result()会将查询结果全部读取到客户端,创建一个MYSQL_RES结构,并存储查询结果。如果查询无结果,函数会返回NULL,例如INSERT语句。读取失败或发生错误时,同样返回NULL。通过mysql_error()的非空返回、mysql_errno()的非零值以及mysql_field_count()的0值,可以确定是否存在问题。若查询返回...
成功调用mysql_query()后,mysql_store_result()能够返回NULL。出现该情况时,表明出现了下述条件之一: · 出现了malloc()故障(例如,如果结果集过大)。 · 无法读取数据(在连接上出现了错误)。 · 查询未返回数据(例如,它是IN
linux C mysql_store_result,#linuxCmysql_store_result##介绍在LinuxC开发中,使用MySQL数据库是常见的需求。而在进行数据库操作时,`mysql_store_result`函数是一个非常重要的函数,用于从服务器获取结果集并存储在客户端中供后续处理。本文将详细介绍`mysql_store_resul
函数mysql_store_result()与mysql_use_result()类似,它们都有连接处理程序参数,并返回结果集。但实际上两者间的区别还是很大的。两个函数之间首要的区别在于从服务器上检索结果集的行。 当调用时,mysql_store_result()立即检索所有的行,而mysql_use_result()启动查询,但实际上并未获取任何行,mysql_store_result(...
mysql_store_result()reads the entire result of a query to the client, allocates aMYSQL_RESstructure, and places the result into this structure. mysql_store_result()returnsNULLif the statement did not return a result set (for example, if it was anINSERTstatement), or an error occurred and...
【摘要】 有可能在一个对mysql_query()成功的调用后,mysql_store_result()返回NULL。当这发生时,它意味着出现了下列条件之一: 有一个malloc()失败(例如,如果结果集合太大)。 数据不能被读取(发生在连接上的一个错误)。 查询没有返回数据(例如,它是一个INSERT、UPDATE或DELETE)。 你总是可以通过调用mysq......