作者 主題: 在Linux的環境下,如何連接mysql資料庫?  (閱讀 5065 次)

0 會員 與 1 訪客 正在閱讀本文。

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
各位高手
在Linux的環境下,如何連接mysql資料庫?

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1370
    • 檢視個人資料
    • http://darkranger.no-ip.org

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #2 於: 2009-09-27 21:22 »

http://dev.mysql.com/doc/refman/5.4/en/c-api-functions.html

http://www.geocities.com/jahan.geo/mysql_c_by_example.html

請記得先安裝好 linux distro 提供的 mysql-devel or mysqlclient-devel 這類套件包才有編譯所需要的相關程式庫與標頭檔。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #3 於: 2009-10-15 13:40 »
你好~~
在編譯成功連接mysql後,但在執行時卻出現
 error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory


請問這是什麼原因呢?



kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #4 於: 2009-10-15 13:48 »

你 mysql 不是用系統內建帶的版本嗎?

先確認你的 libmysqlclient.so 檔案放哪,改一下 /etc/ld.so.conf 檔案加入該檔案所在目錄位置,跑 ldconfig 更新即可。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #5 於: 2009-10-15 13:56 »
你好~

libmysqlclient.so 在/usr/lib/libmysqlclient.so , 在 /etc/ld.so.conf中也指定了/usr/lib , 再執行ldconfig 更新,但是執行時一樣
有錯誤訊息:

/root/addrecord: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory
« 上次編輯: 2009-10-15 13:59 由 pinky »

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #6 於: 2009-10-15 14:07 »

ls -l /usr/lib/libmysqlclient.* 看一下吧
I am kenduest - 小州

my website: http://kenduest.sayya.org/

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #7 於: 2009-10-15 14:11 »
-rw-r--r-- 1 root root 3199092 Nov 15  2008 /usr/lib/libmysqlclient.a
-rw-r--r-- 1 root root     941 Nov 15  2008 /usr/lib/libmysqlclient.la
lrwxrwxrwx 1 root root      20 May  5 20:36 /usr/lib/libmysqlclient.so -> libmysqlclient.so.15
lrwxrwxrwx 1 root root      24 Oct 15 13:53 /usr/lib/libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
-rwxr-xr-x 1 root root 1474856 Dec 18  2008 /usr/lib/libmysqlclient.so.15.0.0

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #8 於: 2009-10-15 14:41 »

ldd /root/addrecord 輸出寫啥?
I am kenduest - 小州

my website: http://kenduest.sayya.org/

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #9 於: 2009-10-15 20:32 »
目前成功了~可以連接了!!
但是請問在我在新增資料到資料庫時,所用的語法是
代碼: [選擇]
char date[] = "2009-10-23 10:10:11";
strcpy(record,"("INSERT INTO table VALUES('u1','u2','choice',%f,%f,%f,%f,%f,'%c')",r1,r2,r3,r4,r5,date)");

但是在compile 時卻出現錯誤
addrecord.c:45: error: expected ')' before 'INSERT'

是語法上有什麼錯嗎?


« 上次編輯: 2009-11-13 11:09 由 NARs »

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: 在Linux的環境下,如何連接mysql資料庫?
« 回覆 #10 於: 2009-10-15 23:49 »

"xxxxxxxxxx"

裡面 xxxx 有 " 的符號請前面補上 \ 符號。
I am kenduest - 小州

my website: http://kenduest.sayya.org/