据我所知解决的方法如果是C API的话就只有上面你所说的,php可以使用mysqli来改正。你再按照上面的方法设置一下试试。
另外我用VC6试了下上面的代码,并没有出现你所说的错误,我用的是mysql5.0.19,并且修改了一下你的代码。
//main.c
#include <winsock2.h>
#include <mysql.h>
#pragma comment (lib, "libmysql.lib")
void main()
{
    MYSQL mysql = {0};
    mysql_init(&mysql);
    if(!mysql_real_connect(&mysql, "localhost", "root", "12142022", "test", 0, NULL, 0))
    {
        printf(mysql_error(&mysql));
        //return;
    }
else
{
printf("Connection successful\n");
}
    mysql_close(&mysql);
}Connection successful
Press any key to continue