- Mesaj
- 11.905
- Çözümler
- 564
- Beğeni
- 13.270
- Puan
- 5.915
- Ticaret Puanı
- 2
Merhaba arkadaşlar,
Bu konumuzda C/C++ ile MySQL bağlantısı kurmayı ve sorgu çalıştırmayı anlatacağım.
Bilgisayarınızda MySQL serverin kurulu olması gerekmektedir.
Ben Arch Linux üzerinde programı çalıştırdığım için şu komutu girerek derledim
MySQL ile bağlantı sağlamak için libleri de $(mysql_config --libs) komutu sayesinde dahil ediyoruz. Kodun çıktısı şu oluyor;
Ben kendi yaptığım örnek uygulamanın görselini ekliyorum. Konuda verdiğim örnek kodlardan farklılıklar vardır. En basit haliyle anlatmak istedim.
Bu konumuzda C/C++ ile MySQL bağlantısı kurmayı ve sorgu çalıştırmayı anlatacağım.
Bilgisayarınızda MySQL serverin kurulu olması gerekmektedir.
C:
#include <cstdio>
#include <cstdlib>
#include <cwchar>
#include <mysql/mysql.h>
#include <stdio.h>
#include <iostream>
int main()
{
MYSQL *db;
MYSQL_RES *res;
MYSQL_ROW row;
db = mysql_init(NULL);
if(db == NULL)
{
printf("MySQL Error: %u %s\n", mysql_errno(db), mysql_error(db));
exit(1);
}
// MySQL bağlantısı
if (mysql_real_connect(db "localhost", "root", "root_sifresi", "veritabani_adi", 0, NULL, 0) == NULL)
{
printf("MySQL Bağlantı Hatası: %u: %s\n", mysql_errno(db), mysql_error(db));
mysql_close(db);
exit(1);
}
// Sorgu cümlesi. Eğer kullanıcı girişi alacaksanız şu şekilde yazabilirsiniz;
// sprintf(QUERY, "SELECT ad, soyad FROM tablo_adi WHERE yas = %d", yas);
char QUERY[1024];
sprintf(QUERY, "SELECT ad, soyad FROM tablo_adi");
// Yazılan sorguyu çalıştırır.
if (mysql_query(db, QUERY))
{
printf("Query hata: %s\n", mysql_error(db));
mysql_close(db);
exit(1);
}
// Sorgudan çıkan sonuçlar MYSQL_RES aktarılır ve döngü ile ekrana yazdırılır...
res = mysql_use_result(db);
printf("%-10s\t%-10s\n", "AD", "SOYAD");
while((row = mysql_fetch_row(res)) != NULL)
{
printf("%-10s\t%-10s\n", row[0], row[1]);
}
mysql_free_result(res);
mysql_close(db);
return 0;
}
Ben Arch Linux üzerinde programı çalıştırdığım için şu komutu girerek derledim
g++ -g -o veritabani veritabani.cpp $(mysql_config --libs)
MySQL ile bağlantı sağlamak için libleri de $(mysql_config --libs) komutu sayesinde dahil ediyoruz. Kodun çıktısı şu oluyor;
-L/usr/lib -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl
Ben kendi yaptığım örnek uygulamanın görselini ekliyorum. Konuda verdiğim örnek kodlardan farklılıklar vardır. En basit haliyle anlatmak istedim.