c連接mysql的實例
今天給新來的同事做mysql 培訓 ,用到的一個例子: 連接 數據庫 test 用戶名root密碼abc 在里面有一個username的表,describe username結果如下 mysql describe username; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null
今天給新來的同事做mysql培訓,用到的一個例子:
連接數據庫test 用戶名root密碼abc
在里面有一個username的表,describe username結果如下
mysql> describe username;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(10) | YES | | NULL | |
| username | varchar(32) | | PRI | | |
+----------+-------------+------+-----+---------+-------+
mysql> select * from username;
+------+----------+
| id | username |
+------+----------+
| 1 | sfs |
+------+----------+
1 row in set (0.00 sec)
本文目的查找執行select id from username這個語句并打印結果
代碼: |
#include #include #include #include #include #include #include #include #include #include #include #include MYSQL mysql; main() { char host[32]="localhost"; char user[32]="root"; char passwd[32]="abc"; char dbname[32]="test"; if( mysql_init(&mysql) == NULL ) { syslog(LOG_USER|LOG_INFO,"inital mysql handle errorn"); return 1; } if (mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL) { syslog(LOG_USER|LOG_INFO, "Failed to connect to database: Error: %sn",mysql_error(&mysql)); return 1; } else syslog(LOG_USER|LOG_INFO, "connect to database: n"); find_ps(); db_close(); return 0; } int db_close() { mysql_close(&mysql); return 0; }
int find_ps () { MYSQL_ROW m_row; MYSQL_RES *m_res; char sql[1024],username[32]; int res=1; int *id; sprintf(sql,"select id from username"); if(mysql_query(&mysql,sql) != 0) { syslog(LOG_USER|LOG_INFO, "select ps_info Error: %sn",mysql_error(&mysql)); return res; } m_res = mysql_store_result(&mysql); if(m_res==NULL) { syslog(LOG_USER|LOG_INFO, "select username Error: %sn",mysql_error(&mysql)); res = 3; return res; } if(m_row = mysql_fetch_row(m_res)) { printf("m_row=%dn",atoi(m_row[0])); res = 0; } mysql_free_result(m_res); return res; }
|
編譯命令
gcc -g connect_db.c -L/usr/lib/mysql -lmysqlclient -lz
注意:
如果/tmp/ccTGmMS21.o: In function `main':
/tmp/ccTGmMS21.o(.text+0x11): undefined reference to `mysql_init'
那么參數增加-L/usr/lib/mysql -lmysqlclient
如果
usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_uncompress':
my_compress.o(.text+0xaa): undefined reference to `uncompress'
那么增加-lz參數
相關文章
http://forums.devshed.com/t2352/s.html?highlight=perl+mysql+connection(DBI.pm)
原文轉自:http://www.anti-gravitydesign.com
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97
|