db_test数据库里面包含username表表包含ID,username两个字段。里面数据位
100 JACK
102 MARK
186 ADDREW
C程序代码如下
#include <mysql/mysql.h>
#include <stdio.h>
void main()
{
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_ROW row;
char *query = "select * from username";
int t,r;
mysql_init(mysql);
if (!mysql_real_connect(mysql,"localhost","root","123456","db_test",0,NULL,0))
{
printf("Error connecting to database:%s\n",mysql_error(mysql));
}
else
printf("connected...\n");
t = mysql_query(mysql,query);
if (t)
{
printf("Error making to query:%s\n",mysql_error(mysql));
}
else
{
printf("Query made...\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);
}
页首
显示帖子 :
100 JACK
102 MARK
186 ADDREW
C程序代码如下
#include <mysql/mysql.h>
#include <stdio.h>
void main()
{
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_ROW row;
char *query = "select * from username";
int t,r;
mysql_init(mysql);
if (!mysql_real_connect(mysql,"localhost","root","123456","db_test",0,NULL,0))
{
printf("Error connecting to database:%s\n",mysql_error(mysql));
}
else
printf("connected...\n");
t = mysql_query(mysql,query);
if (t)
{
printf("Error making to query:%s\n",mysql_error(mysql));
}
else
{
printf("Query made...\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 declare table 如何使用?请教高手。速度结贴
- 求这样一个mysql的查询语句
- 取查询结果重复行的最后一行
- win2003服务器已安装了一个mysql4数据库,怎样可以再安装一个mysql5呢?
- mysql 游标问题。 怎么用循环替代游标嵌套!
- mysql数据库中关于使用like进行模糊查询的问题
- 请mysql 高手帮忙看看我的Mysql服务如何优化和注意什么东西,只要解决要多少分数都可以
- 怎么设计一个表啊?(很弱的问题,但我不会,没接触过)
- postgresql 里表名字或者字段名字必须用小写吗?如果有大写字母怎么办
- 关于主外键和主键自增的问题
- 出错了,mysql 在两台计算机上实现数据同步。(主从模式)
- xtrabackup innobackupex-1.5.1备份出问题
100 JACK
102 MARK
186 ADDREW
段错误
我不知道最后那个段错误是哪里有问题
mysql_num_fields( 这个函数又是什么?建议查一下手册,
目前我还没明白你程序的逻辑。
中间条件应该是<,而不是<=
显然会造成越界的错误。也就是段错误。
这一行根本就不应该要用while (mysql_fetch_row(res))
{
for (t=0;t<mysql_num_fields(res);t++)
printf("%s ",row[t]);
printf("\n");
}
unsigned int num_fields;
unsigned int i;num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result)))
{
unsigned long *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");
}
你不能稍改一下吗?我帖的只是基本思路。while ((row = mysql_fetch_row(res)))