#include "iostream"
#include <windows.h>#include "C:\\Program Files\\MySQL\\MySQL Server 5.1\\include\\mysql.h"
using namespace std;void main()
{
MYSQL mysql;
MYSQL_RES * res;
MYSQL_ROW record; 

mysql_init(&mysql);
mysql_real_connect(&mysql,"%","root","1", "ab",3306,0,0); mysql_query(&mysql, "select auth, password, access from admins where length(access)>3");   
    res = mysql_store_result(&mysql);   
    while((record=mysql_fetch_row(res)))   
    {   
        printf("auth=%s,password=%s,access=%s\n", record[0], record[1], record[2]);   
    }   
    mysql_free_result(res);   
    mysql_close(&mysql);   
}

解决方案 »

  1.   

    你也不会吗? 你是用什么语言操作MYSQL的?
      

  2.   


    sigh, 你这里的代码,一大堆错啊,任何一部出错,都有可能导致crashmysql_real_connect(&mysql,"%","root","1", "ab",3306,0,0);
    这句能连上数据库吗?
    居然没有错误处理。给你一个完整的例子,好好参考一下吧:
    http://iihero.com/?id=12
      

  3.   

    MYSQL mysql; -- 兄弟,把这里改成指针的方式来操作
    mysql_init(&mysql); --调用这个函数的时候,API 会分配内存的,如果不用指针操作,
    mysql_init分配内存的时候会把你后面定义的 MYSQL_RES * res;变量,给修改掉,然后你再引用 res变量时,就是非法地址了(自己用MySQL C API开发时,碰到过这种问题)