#include #include /* 1. ヘッダファイルの読み込み 2. 初期化 3. オプションの設定 4. 接続 5. SQL文実行、結果受け取り処理 6. 切断 gcc -I/usr/include/mysql .... gcc -o ...... -L/usr/lib/mysql .... リンク時にlibmysqlclientをリンクします。同時にlibmライブラリや ネットワークのライブラリもリンクする。 /usr/local/mysql/include/mysql/mysql.h コンパイル gcc -c -I /usr/local/mysql/include/mysql/ mysql_client.c リンク gcc -o mysql_client.exe mysql_client.o \ -L /usr/local/mysql/lib/mysql/ -l mysqlclient */ int main(int argc, char **argv) { MYSQL *mysql, *con; MYSQL_RES *res; MYSQL_ROW row, end_row; int r, n, i; /* connectする前に必ずmysql_init() 引数がNULLの場合は新たに割り当てを行って、それを返す */ mysql = mysql_init(NULL); if(NULL==mysql){ // 初期化できなかった場合のエラー処理 // 初期化できなかったらNULLが返る exit(1); } // mysql_optionsは、初期化の後、接続の前に使用しなくてはならない mysql_options(mysql, MYSQL_OPT_COMPRESS, 0); /* サーバーに接続 NULLの場合、デフォルトを使用する ホストがNULL : localhostになる ユーザがNULL : このプログラムを使用するアカウント名になる ソケットがNULL : デフォルトのソケットファイル ポート番号が0 : デフォルトのポート番号 */ con = mysql_real_connect(mysql, "localhost", "mysql", "", "test", 0, NULL, 0); if (NULL==con){ // 接続に失敗したらNULLが返る printf("setuzokusipai\n"); exit(1); } // 普通に、SQL文で問い合わせる r = mysql_query(mysql, "SHOW databases"); if(0 == r){ // クエリが成功した場合は0が返る! エラー時は0以外! if(mysql_field_count(mysql)>0){ // 結果セットを得る res = mysql_store_result(mysql); if(NULL == res){ // エラーがある場合 NULL mysql_close(mysql); return 1; } n = mysql_num_fields(res); while((row = mysql_fetch_row(res))){ for(i=0; i