有关Mysql的mysql_store_result函数返回NULL的情…
2018-06-17 22:57:32来源:未知 阅读 ()
成功调用mysql_query()后,mysql_store_result()能够返回NULL。出现该情况时,表明出现了下述条件之一:
· 出现了malloc()故障(例如,如果结果集过大)。
· 无法读取数据(在连接上出现了错误)。
· 查询未返回数据(例如,它是INSERT、UPDATE或DELETE)。
通过调用mysql_field_count(),始终能检查语句是否应生成非空结果。如果mysql_field_count()返回0,结果为空,而且上一个查询是未返回值的语句(例如INSERT或DELETE)。如果mysql_field_count()返回非0值,语句应生成非空结果。关于这方面的示例,请参见mysql_field_count()函数介绍:
返回作用在连接上的最近查询的列数。该函数的正常使用是在mysql_store_result()返回NULL(因而没有结果集指针)时。在这种情况下,可调用mysql_field_count()来判定mysql_store_result()是否应生成非空结果。这样,客户端就能采取恰当的动作,而无需知道查询是否是SELECT(或类似SELECT的)语句。在这里给出的示例中,演示了完成它的方法。返回表示结果集中列数的无符号整数。
通过调用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: %s\n", mysql_error(&mysql)); 27 } 28 } 29 }
转载请注明地址:http://www.cnblogs.com/fnlingnzb-learner/p/5826533.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash