日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ubuntu c mysql_Ubuntu下MySql和C连接的一些问题

發布時間:2025/3/19 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu c mysql_Ubuntu下MySql和C连接的一些问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ubuntu下MySql和C連接的一些問題

xinjinlong | 2010-11-15 17:28:01 ?? 閱讀:3224

發布文章

接上一貼繼續,主要是用C從MySql里讀取數據,中間遇到了一些問題幸好本人平時為人和善終于把問題解決了,今天特拿來于各位分享,好了,閑話少說,步入正題:

第一,安裝MySql:

1、sudo apt-get intsall mysql-server

2、sudo apt-get install mysql-client

3、判斷是否安裝成功:

sudo netstat -tap | grep mysql

如果安裝成功會出現現面的提示:

tcp 0 0 localhost.localdomain:mysql *:* LISTEN

如果沒有成功,重新啟動MySql:sudo /etc/init.d/mysql restart

4、直接在中斷下面進入MySql:sudo mysql -u root -p

第二:安裝要和C 語言連接是的MySql的庫文件和頭文件:

sudo apt-get install libmysqlclient15-dev

你可以看看是否安裝成功,運行下面命令:

cd /usr/include/mysql 查看頭文件是否有

cd /usr/lib/mysql 查看庫文件是否有

第三:編寫測試實例

1、創建自己的數據庫

登錄MySql :create database db1和create table test

2、編寫C語言測試程序:

//test.c

#include

#include

int main(int argc, char **argv)

{

MYSQL mysql_conn; /* Connection handle */

MYSQL_RES *mysql_result; /* Result handle */

MYSQL_ROW mysql_row; /* Row data */

int f1, f2, num_row, num_col;

if (mysql_init(&mysql_conn) != NULL)

{

if (mysql_real_connect(&mysql_conn, "localhost", "user",

"password", "db1", MYSQL_PORT, NULL, 0) != NULL)

{

mysql_query(&mysql_conn,"SET NAMES 'utf8' ");//為了防止有中文讀出是??

if (mysql_query(&mysql_conn, "select * from test") == 0)

{

mysql_result = mysql_store_result(&mysql_conn);

num_row = mysql_num_rows(mysql_result);

/* Get the no. of row */

num_col = mysql_num_fields(mysql_result);

/* Get the no. of column */

printf("row=%d, col=%d\n",num_row,num_col);

for (f1 = 0; f1 < num_row; f1++)

{

mysql_row = mysql_fetch_row(mysql_result);

for (f2 = 0; f2 < num_col; f2++)

{

/* Fetch one by one */

printf("[Row %d, Col %d] ==> [%s]\n", f1, f2, mysql_row[f2]);

}

}

} else

{

(void) printf("Query fails\n");

}

} else

{

(void) printf("Connection fails\n");

}

} else

{

(void) printf("Initialization fails\n");

}

mysql_free_result(mysql_result);

mysql_close(&mysql_conn);

printf("quit\n");

return 0;

}

因為數據庫里面有漢字,查了一些資料也要在連接數據源是設置字符集,但是就是不知道把這句:mysql_query(&mysql_conn,"SET NAMES 'utf8' ");

放到什么位置,程序明明已經來連接一次數據源,難道還要鏈接嗎?

最后實在沒有辦法就連接兩次,一次設置字符集,一次查詢,誰知道成功讀出漢字,可能是本人巧合,不求甚解吧?

*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

參與討論

請登錄...

登錄后參與討論

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ubuntu c mysql_Ubuntu下MySql和C连接的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。