C語言如何連線mysql資料庫

2021-07-05 12:47:19 字數 1802 閱讀 5784

作業系統是linux,需要mysql客戶端軟體開發庫libmysqlclient,這個函式庫是mysql的組成部分之一。

一般標頭檔案都在/usr/include/mysql路徑下,庫檔案都在/usr/lib/mysql路徑下。

如果沒有需要安裝mysql-devel包(mysql-devel-5.1.47-4.el6.i686.rpm)

[@]# rpm -ivh mysql-devel-5.1.47-4.el6.i686.rpm

安裝完成後可以去那兩個路徑下看看有沒有,如果沒有就查詢一下

[@]# find / -name mysql.h

[@]# find / -name mysqlclient

看一下路徑在**。

安裝完成後,就可以編譯連線c源程式了。

[@]# gcc -i/usr/include/mysql -l/usr/lib/mysql -lmysqlclient *.c

編譯成功即可執行。

解釋下:

gcc gnu c/c++編譯器

-i指定標頭檔案所在路徑(大寫i)

-l 指定庫檔案所在路徑

-l 與所需要的動態鏈結庫鏈結起來(小寫l)

這麼長的編譯命令一般都在make檔案裡面寫了

關於動態鏈結庫可以新增乙個環境變數

[@]# export ld_library_path=$ld_library_path:/usrlib/mysql

不過一勞永逸的辦法是:將這句話ld_library_path=$ld_library_path:/usrlib/mysql新增在.bashrc裡面

最後原始碼:

[cpp]

#include 

#include

int main(int argc, char *argv)

// only if utf8 output is needed

mysql_query(conn, "set names 'utf8'");

// retrieve list of all publishers in mylibrary

const char *sql="select count(titleid), publname \

from publishers, titles \

where publishers.publid = titles.publid \

group by publishers.publid \

order by publname";

if(mysql_query(conn, sql))

// process results

result = mysql_store_result(conn);

if(result==null)

printf("%i records found\n", (int)mysql_num_rows(result));

// loop through all found rows

while((row = mysql_fetch_row(result)) != null)

printf("\n");

}  // de-allocate memory of result, close connection

mysql_free_result(result);

mysql_close(conn);

return

0;}

C語言連線MySQL資料庫

不想用odbc什麼的連線資料庫,想直接用mysql提供的介面連線資料庫。我用的是vs2005。網上的一些介紹都是修改專案屬性等的設定,我不喜歡那樣。首先 我們需要的檔案有mysql.h my alloc.h my list.h mysql com.h mysql time.h mysql versi...

C語言連線mysql資料庫

一 分配或初始化與mysql real connect 相適應的mysql物件。用mysql init 函式。mysql mysql init mysql mysql 描述 分配或初始化與mysql real connect 相適應的mysql物件。如果mysql是null指標,該函式將分配 初始化...

C語言連線mysql資料庫

作業系統是linux,需要mysql客戶端軟體開發庫libmysqlclient,這個函式庫是mysql的組成部分之一。一般標頭檔案都在 usr include mysql路徑下,庫檔案都在 usr lib mysql路徑下。如果沒有需要安裝mysql devel包 mysql devel 5.1....