请教:用C连接MYSQL能读出数据库里面的数据,但最后提示段错
误是怎么回事???
2010/12/02 10 MYSQL_ROWrow; char*query=“select*fromusername”; intt,r; mysql_init(mysql);
if(!mysql_real_connect(mysql,”localhost”,”root”,”123456”,”db_test”,0,NULL,0)) { printf(“Errorconnectingtodatabase:%s\n”,mysql_error(mysql)); } else printf(“\n”); t=mysql_query(mysql,query); if(t) { printf(“Errormakingtoquery:%s\n”,mysql_error(mysql)); } else { printf(“\n”); res=mysql_use_result(mysql); if(res) { for(r=0;r =mysql_field_count(mysql);r++) { row=mysql_fetch_row(res); if(row 0)break; for(t=0;t mysql_num_fields(res);t++) printf(“%s”,row[t]); printf(“\n”); } } mysql_free_result(res); } mysql_close(mysql); } 页首显示帖子: mysql_field_count这个函数返回的是什么?mysql_num_fields(这
个函数又是什么?建议查一下手册,目前我还没明白你程序的逻辑。错在这里,for(r=0;r =mysql_field_count(mysql);r++) 中间条件应该是<,而不是= 显然会
造成越界的错误。也就是段错误。又看了一遍code,for(r=0;r
mysql下载后为啥localhost打不开=mysql_field_count(mysql);r++) 这一行根本就不应该要用while(mysql_fetch_row(res)) { for(t=0;t mysql_num_fields(res);t++) printf(“%s”,row[t]); printf(“\n”); }num_fields=mysql_num_fields(result);while((row=mysql_fetch_row(result))
){unsignedlong*lengths;lengths=mysql_fetch_lengths(result);for(i=0;i
num_fields;i++){printf(“[%.*s]”,(int)lengths[i],row[i]?row[i]:”NULL”);}printf(“\n”);}tips:
感谢大家的阅读,本文由我司收集整编。仅供参阅!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论