C語言連接mysql數據庫


操作系統:win7/64

編譯軟件:VS2010

數據庫:5.7.11

 

從C語言連接mysql數據庫包含兩個步驟:

1 初始化連接句柄結構

2 實際創建連接

 

測試代碼1:

#include "stdafx.h"
#include <WinSock2.h> /*socket通信,系統頭文件*/
#include <windows.h>
#include <stdio.h>
#include "mysql.h"
#pragma comment(lib, "libmysql.lib")
int main()
{
    MYSQL *conn; char *server = "localhost";
    char *user = "root";
    char *password = "root";//“******”為你設置的密碼
    char *database = "hyx";
    conn = mysql_init(NULL); if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
        printf("連接失敗:%s", mysql_error(conn));
    else
        printf("連接成功!");
    getchar();
    return 0;
}

測試結果1:

 

遇到的問題:

error LNK2019: 無法解析的外部符號 _mysql_real_connect@32,該符號在函數 _main 中被引用
error LNK2019: 無法解析的外部符號 _mysql_query@8,該符號在函數 _main 中被引用
error LNK2019: 無法解析的外部符號 _mysql_init@4,該符號在函數 _main 中被引用
error LNK2019: 無法解析的外部符號 _mysql_close@4,該符號在函數 _main 中被引用

解決方法:

原因如下,我使用的系統是win7x64,MySQL 64位的lib也是64位的接口。所以解決方法如下:
.項目->屬性->配置管理器
活動解決方案平台,下拉選新建,出現一個新的對號框,在鍵入選擇新平台中選擇X64

重新編譯  成功~~~

測試代碼2:

#include "stdafx.h"
#include <WinSock2.h> /*socket通信,系統頭文件*/
#include <windows.h>
#include <stdio.h>
#include "mysql.h"
#pragma comment(lib, "libmysql.lib")
int main()
{
    MYSQL my_connection;
    char *server = "localhost";
    char *user = "root";
    char *password = "root";//“******”為你設置的密碼
    char *database = "hyx";
    mysql_init(&my_connection);
    if(!mysql_real_connect(&my_connection, server, user, password, database, 0, NULL, 0))
        printf("連接失敗:%sn", mysql_error(&my_connection));
    else
        printf("連接成功!");
    getchar();
    return 0;
}

測試結果2:

 

問題:測試代碼1與測試代碼2只有標黑的兩行不同,但是一個連接成功了,一個連接失敗了,這是什么原因?

 

VS中快捷鍵
F12 轉到定義處
ctrl+"-" 從定義處返回
F7 編譯
ctrl+F5  運行
F5 執行到下一個斷點
F10 調試(逐過程)
F11  調試(逐語句)

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM