サンプル集  >  LinuxC  >  MySQLへ接続
MySQLへ接続
2009/05/18

MySQLへの接続例です。

◆環境
OS Linux 2.6.18-53.el5
gcc 4.1.2 20071124 (Red Hat 4.1.2-42)

LC102_main.c
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
/* PROGRAM NAME : LC102_main.c */
/* AUTHOR       : ymlib.com    */
/* MAKE DAY     : 2009/05/18   */

/*             */
/* MySQLへ接続 */
/*             */

#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>

int main( int argc, char** argv )
{
    char* db_host = "localhost";
    char* db_name = "ymdb";
    char* db_user = "ymusr";
    char* db_pass = "ympass";
    int   db_port = 0;
    char* db_sock = NULL;

    MYSQL* mysql;
    MYSQL* con;

    // 初期化
    mysql = mysql_init( NULL );
    if ( mysql == NULL )
    {
        printf( "mysql_init error!!\n");
        exit( 1 );
    }

    // MySQLへ接続
    con = mysql_real_connect( mysql
                            , db_host
                            , db_user
                            , db_pass
                            , db_name
                            , db_port
                            , db_sock
                            , 0
                            );
    if ( con == NULL )
    {
        printf( "mysql_real_connect error!!\n" );
        exit( 2 );
    }

    printf( "MySQL Connect OK!!\n" );

    // MySQLから切断
    mysql_close( mysql );

    return ( 0 );
}

makefile
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 

 8: 
 9: 
10: 
11: 
12: 
13: 
# 2009/05/18 (c) ymlib.com
TARGET = LC102
OBJS = LC102_main.o
CC = /usr/bin/gcc

$(TARGET): $(OBJS)
    $(CC) -o $@ $(OBJS) -L/usr/lib64/mysql -lmysqlclient -lm -lz
 -lnsl -lcrypt
.SUFFIXES: .c.o
.c.o:
    $(CC) -Wall -c $< -g -I/usr/include/mysql

clean:
    rm -f $(TARGET) $(OBJS)

◆実行結果
$ ./LC102
MySQL Connect OK!!


2013/11/28追記

次の環境でも正しく動作しました。

OS Linux obsax3 3.0.6 #1 SMP Thu Mar 7 19:14:19 JST 2013 armv7l GNU/Linux
gcc 4.4.5 (Debian 4.4.5-8)
MySQL Server 5.1.66-0+squeeze1 (Debian)

▲ PageTop  ■ Home


Copyright (C) 2013 ymlib.com