C++ mysql bağlantısı

C++ ile MySQL veritabanına bağlanmak için MySQL C API veya bir C++ MySQL kütüphanesi kullanabilirsiniz. Aşağıda C++ kullanarak MySQL veritabanına nasıl bağlanabileceğinizi ve temel bir sorgu gönderme işlemini gösteren bir örnek bulunmaktadır. Öncelikle, MySQL C API’yi kullanarak bu işlemi gerçekleştireceğim.

Öncelikle, MySQL C API’yi kullanmak için MySQL C Connector’ı kurmanız gerekebilir. Bu kütüphaneyi resmi MySQL web sitesinden indirebilirsiniz.

#include <mysql/mysql.h>
#include <iostream>

int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    conn = mysql_init(NULL);

    if (conn == NULL) {
        std::cerr << "mysql_init() failed" << std::endl;
        return 1;
    }

    if (mysql_real_connect(conn, "localhost", "kullanici_adi", "parola", "veritabani_adi", 0, NULL, 0) == NULL) {
        std::cerr << "mysql_real_connect() failed" << std::endl;
        mysql_close(conn);
        return 1;
    }

    if (mysql_query(conn, "SELECT * FROM tablo_adi")) {
        std::cerr << "SELECT * FROM tablo_adi failed" << std::endl;
        mysql_close(conn);
        return 1;
    }

    res = mysql_store_result(conn);

    if (res == NULL) {
        std::cerr << "mysql_store_result() failed" << std::endl;
        mysql_close(conn);
        return 1;
    }

    while ((row = mysql_fetch_row(res))) {
        std::cout << "Sutun 1: " << row[0] << ", Sutun 2: " << row[1] << std::endl;
    }

    mysql_free_result(res);
    mysql_close(conn);

    return 0;
}

Yukarıdaki örnek, MySQL C API kullanılarak MySQL veritabanına bağlanmanın temelini atmaktadır. Önce mysql_init() ile bir MySQL bağlantısı başlatılır, sonra mysql_real_connect() ile veritabanına bağlanılır, ardından bir sorgu gönderilir ve sonuçları alır. Sonuçları işlemek için bir döngü kullanabilirsiniz.

Daha modern bir C++ yaklaşımı tercih ediyorsanız, birçok C++ MySQL kütüphanesi bulunmaktadır, örneğin MySQL++ veya cppconn (MySQL C++ Connector). Bu kütüphaneler, daha basit ve C++ dostu bir arabirim sağlayabilir ve işleri kolaylaştırabilir. Kullanmayı planladığınız kütüphanelerin belgelendirmelerini inceleyerek daha fazla bilgi edinebilirsiniz.