您的位置:永利集团登录网址 > 永利集团登录网址 > 有关Mysql的mysql_store_result函数返回NULL的情况以及

有关Mysql的mysql_store_result函数返回NULL的情况以及

2019-12-10 06:21

成功调用mysql_query()后,mysql_store_result()可以见到回来NULL。现身该境况时,评释现身了下述条件之风流罗曼蒂克:

·         现身了malloc(卡塔尔(قطر‎故障(譬喻,假如结果集过大)。

·         不能读取数据(在接连上现身了错误)。

·         查询未回到数据(例如,它是INSERT、UPDATE或DELETE)。

通过调用mysql_field_count(卡塔尔(قطر‎,始终能检查语句是不是应生成非空结果。若是mysql_field_count(卡塔尔(قطر‎重回0,结果为空,并且上三个询问是未重回值的讲话(举个例子INSERT或DELETE)。要是mysql_field_有关Mysql的mysql_store_result函数返回NULL的情况以及其他注意事项。count(卡塔尔重临非0值,语句应生成非空结果。关于那地点的示范,请参见mysql_field_count(卡塔尔(قطر‎函数介绍:

回来效率在三翻五次上的近年查询的列数。该函数的例行使用是在mysql_store_result(卡塔尔再次回到NULL(由此未有结果集指针)时。在此种情形下,可调用mysql_field_count()来判定mysql_store_result(卡塔尔(英语:State of Qatar)是或不是应生成非空结果。那样,客户端就能够使用适度的动作,而没有须要通晓查询是还是不是是SELECT(或雷同SELECT的)语句。在那间给出的身体力行中,演示了成就它的方法。再次回到表示结果集中列数的无符号整数。

另风流洒脱种可选的秘技是,用mysql_errno(&mysql)替换mysql_field_count(&mysql卡塔尔调用。在这场馆下,无论语句是或不是是SELECT,你将直接从mysql_store_result(卡塔尔查找错误,并非从mysql_field_count(卡塔尔(英语:State of Qatar)的值实行猜度。

通过调用mysql_error()或mysql_errno(卡塔尔(قطر‎,可测量检验是还是不是现身了不当。

 

注意:

对此成功调用mysql_query(卡塔尔(قطر‎进行select语句的询问,尽管查询的多少官样文章(即rowcount=0),result也不为NULL。result为NULL的状态只是检查测量检验上二个查询是或不是是有重临值的言语。

 

范例:

 1     MYSQL_RES *result;
 2     unsigned int num_fields;
 3     unsigned int num_rows;
 4     if (mysql_query(&mysql, query_string))
 5     {
 6         // error
 7     }
 8     else // query succeeded, process any data returned by it
 9     {
10         result = mysql_store_result(&mysql);
11         if (result) // there are rows
12         {
13             num_fields = mysql_num_fields(result);
14             // retrieve rows, then call mysql_free_result(result)
15         }
16         else // mysql_store_result() returned nothing; should it have?
17         {
18             if (mysql_field_count(&mysql) == 0)
19             {
20                 // query does not return data
21                 // (it was not a SELECT)
22                 num_rows = mysql_affected_rows(&mysql);
23             }
24             else // mysql_store_result() should have returned data
25             {
26                 fprintf(stderr, "Error: %sn", mysql_error(&mysql));
27             }
28         }
29     }

 

 转发请申明地址:

本文由永利集团登录网址发布于永利集团登录网址,转载请注明出处:有关Mysql的mysql_store_result函数返回NULL的情况以及

关键词:

  • 上一篇:没有了
  • 下一篇:没有了