(已解決) C與MySQL資料庫的問題 [論壇 - Ubuntu 程式設計]
正在瀏覽:
1 名遊客
(已解決) C與MySQL資料庫的問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員二級
![]() ![]() 註冊日期:
2012/6/27 20:43 所屬群組:
已註冊使用者 等級: 8
HP : 0 / 176
![]() |
各位大大好~
小弟最近想把一些PHP Code改成 C 而大多的Code都是跟資料庫存取有關 以下小弟有幾個問題想請教各位大大: 1.方法一:gcc -o test -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient test.c -lz 方法一是小弟在書上及網路上看到的編譯方法 但小弟按照上面的方式編譯都會出現如下的error: undefined reference to `mysql_init' undefined reference to `mysql_real_connect' undefined reference to `mysql_query' undefined reference to `mysql_query' undefined reference to `mysql_store_result' undefined reference to `mysql_num_rows' undefined reference to `mysql_free_result' undefined reference to `mysql_close' 後來Google了一下這些error發現有其他人提供的解決方式是改成 方法二:gcc -o test test.c -Wall `mysql_config --cflags --libs` 想請教各位大大 為什麼方法一不行 而方法二可以? 方法一跟方法二各代表的意思是什麼? 另外,方法二的`改成'或"都不能執行,為什麼是用`這個符號呢? 2.fprintf (stderr,"connection error!!\n"); 許多sample code中 當程式與資料庫連結產生錯誤時 都會寫這一行 所以 我故意在code當中讓程式與資料庫連結時產生錯誤 想請教各位大大 fprintf這個function應該是把"connection error!!\n"寫入某個檔案中,對吧? 為什麼"connection error!!\n"會印在我的terminal上呢? 是因為我沒有開檔指定要他寫在哪一個檔案裡所以他才會print在螢幕上嗎? 3.在C裡面好像沒有類似PHP的mysql_fetch_array()這樣的function 所以要取資料 是不是只能透過mysql_fetch_row()來取? 麻煩各位大大解惑了~<(_ _)>
2013/2/28 2:15
|
||||||||||
![]() |
回覆: C與MySQL資料庫的問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2011/11/13 1:05 所屬群組:
已註冊使用者 等級: 12
HP : 0 / 294
![]() |
1.方法一:參數可能是缺一些空白
方法二:http://linux.vbird.org/linux_basic/9999questions.php#7-7 2.http://bbs.csdn.net/topics/10236827 3.http://stackoverflow.com/questions/1194453/fetching-rows-in-a-mysql-database-table-using-mysql-c-api-and-c --- 你可能需要加強一些shell跟c的基礎知識
2013/2/28 2:41
|
||||||||||
![]() |
回覆: C與MySQL資料庫的問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
管理員
![]() ![]() 註冊日期:
2011/3/11 6:32 所屬群組:
討論區管理群 等級: 44
HP : 216 / 1084
![]() |
迷途小書僮 寫到: undefined reference to XXXX 是 linker 找不到正確的函式庫的錯誤訊息 函式庫的配置每個 Linux 散佈版每個版本不一定會相同 請學習該散佈版適當的配置方式 迷途小書僮 寫到: gcc 的參數請參考 gcc 的使用手冊 至於方法二您直接於終端機中執行 mysql_config --cflags --libs 應該就知道了 迷途小書僮 寫到: 因為語法就是這樣子 另外 bash 下比較標準的執行語法是 $(「命令」) 迷途小書僮 寫到: = = 請查閱標準 C fprintf 函式的參考資料 如果有安裝說明文件軟體包的話可以執行 man 3 fprintf 命令察看 迷途小書僮 寫到: ODBC 提供了什麼介面就只能用什麼介面,沒得選
2013/3/1 2:59
|
||||||||||
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW http://creativecommons.org/licenses/by/3.0/tw/ 「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」 by Allen Own 出處 http://www.plurk.com/p/i4uogm 自由知識創作平台介紹 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE 如何建立新的自由知識創作平台文件 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA |
|||||||||||
![]() |
回覆: C與MySQL資料庫的問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員二級
![]() ![]() 註冊日期:
2012/6/27 20:43 所屬群組:
已註冊使用者 等級: 8
HP : 0 / 176
![]() |
感謝兩位大大的幫忙!!
小弟受惠了~<(_ _)>
2013/3/1 11:42
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.