当前位置: 技术问答>linux和unix
Mysql 的疑问
来源: 互联网 发布时间:2017-02-12
本文导语: 小第对一段程序不是很明白 程序如下 #include #include int main(int argc,char *argv) { MYSQL *conn; MYSQL_RES *result; MYSQL_ROW row; MYSQL_FIELD * field; int num_fields; int i; conn=mysql_init(NULL); mysql_read_connect(conn,"localhost","root","dingding","testd...
小第对一段程序不是很明白 程序如下
#include
#include
int main(int argc,char *argv)
{
MYSQL *conn;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL_FIELD * field;
int num_fields;
int i;
conn=mysql_init(NULL);
mysql_read_connect(conn,"localhost","root","dingding","testdb",0,NULL,0);
mysql_query(conn,"select * fromo friends");
result=mysql_store_result(conn);
num_fields=mysql_num_fields(result);
while((row==mysql_fetch_row(result)))
{
for(i=0;iname);
}
printf("n");
}
printf("%s",row[i]?row[i]:"NULL");
}
}
mysql_free_result(result);
mysql_close(conn);
}
问题是:
按说mysql_fetch_row(result) 来检测下一行值是否存在,应该是有多少行记录就循环多少次,为什在打印字段的时候只是在
开始的时候打印一行字段名字呢 是不是field=mysql_fetch_field(result) 在打印完字段名字后 下次循环返回NULL
小弟这个地方确实搞不太懂,请高手指定.......
#include
#include
int main(int argc,char *argv)
{
MYSQL *conn;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL_FIELD * field;
int num_fields;
int i;
conn=mysql_init(NULL);
mysql_read_connect(conn,"localhost","root","dingding","testdb",0,NULL,0);
mysql_query(conn,"select * fromo friends");
result=mysql_store_result(conn);
num_fields=mysql_num_fields(result);
while((row==mysql_fetch_row(result)))
{
for(i=0;iname);
}
printf("n");
}
printf("%s",row[i]?row[i]:"NULL");
}
}
mysql_free_result(result);
mysql_close(conn);
}
问题是:
按说mysql_fetch_row(result) 来检测下一行值是否存在,应该是有多少行记录就循环多少次,为什在打印字段的时候只是在
开始的时候打印一行字段名字呢 是不是field=mysql_fetch_field(result) 在打印完字段名字后 下次循环返回NULL
小弟这个地方确实搞不太懂,请高手指定.......
|
fetch_row获取一行,fetch_field获取一个字段,它们都是返回NULL表示结束。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。