2021年12月5日日曜日

mariadb C言語 アクセスサンプル

とりあえず、確認のためにに、下記のコードでテスト

build は、こんな感じ

 gcc -Wall -o tst tst.c -lmysqlclient -L/usr/lib64/mysql/

サンプルは以下、、、

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql/mysql.h>
int main(void){
    MYSQL *conn     = NULL;
    MYSQL_RES *resp = NULL;
    MYSQL_ROW row;
    char sql_str[255];
    char *sql_serv  = "localhost";
    char *user      = "xxxxx";
    char *passwd    = "yyyyyy";
    char *db_name   = "dddd";

    memset( &sql_str[0] , 0x00 , sizeof(sql_str) );

    // mysql接続
    conn = mysql_init(NULL);
    if( !mysql_real_connect(conn,sql_serv,user,passwd,db_name,0,NULL,0) ){
        // error
        printf(" connect error\n");
        exit(-1);
    }

    // クエリ実行

    snprintf( &sql_str[0] , sizeof(sql_str)-1 , "select * from test" );
    if( mysql_query( conn , &sql_str[0] ) ){
        // error
        mysql_close(conn);
        exit(-1);
    }

    // レスポンス
    resp = mysql_use_result(conn);
    while((row = mysql_fetch_row(resp)) != NULL ){
        printf( "%d : %s\n" , atoi(row[0]) , row[1] );
    }

    // 後片づけ
    mysql_free_result(resp);
    mysql_close(conn);
    return 0;
}

Peace!!


0 件のコメント:

コメントを投稿