Bu eğitimle, topluluğa bir MySQL veritabanına C programlama dilinden ve çok fazla bağımlılık kullanmadan nasıl erişileceğini sunuyorum.
libmysqlclient
Umarım bu tür belgelere ihtiyaç duyanlar için faydalı olur ve böylece SL topluluğuna katkıda bulunmaya ve INTERNET'e sahip olmayanlara yardımcı olmaya devam eder.
yapılandırma
Öncelikle tasarım kitaplıklarının kurulu olup olmadığını kontrol etmeliyiz *-dev
C / C ++ 'dan MySQL'e erişebilmek.
mysql_config --lib'ler
Şöyle bir şey görünmeli:
-Wl, -Bsymbolic-functions –L / usr / lib / mysql -lmysqlclient rdynamic
Kitaplığın kurulu olmadığını kontrol etmeniz durumunda, aşağıdaki komutla kuruyoruz:
sudo apt-get install libmysqlclient-dev mysql_config --cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-katı-aliasing -DUNIV_LINUX -DUNIV_LINUX
MySQL ve C arasındaki bağlantı için ihtiyacımız olanı doğrulayıp kurduğumuz için, veritabanının oluşturulmasına geçiyoruz:
VERİTABANI OLUŞTUR testi; KULLANIM testi; CREATE TABLE data (id int AUTO_INCREMENT NOT NULL PRIMARY KEY, name varchar (40), age int); INSERT INTO data VALUES (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez', 26), (NULL , "Gustavo Romero", 25);
Programlama ve derleme
Kodu oluşturmaya devam ediyoruz:
Query.c
/ * kullanacağımız kitaplıklar * / #include / * MySQL ile bağlantıları ve sorguları kullanmamızı sağlayan kitaplık * / #include / * Printf vb. Kullanmak için * / int main () {MYSQL * bağl; / * MySQL için bağlantı değişkeni * / MYSQL_RES * res; / * sorgunun sonucunu içerecek değişken * / MYSQL_ROW satırı; / * başvurulan her kayıt için alanları içerecek değişken * / char * server = "localhost"; / * sunucu adresi 127.0.0.1, localhost veya ip adresi * / char * user = "root"; / * kullanıcı veritabanını sorgulayacak * / char * password = "root"; / * söz konusu kullanıcının şifresi * / char * database = "test"; / * sorgulanacak veritabanının adı * / conn = mysql_init (NULL); / * Bağlantıyı sıfırlamak için başlatma * / / * veritabanına bağlan * / if (! mysql_real_connect (conn, server, user, password, database, 0, NULL, 0)) {/ * önceden ayarlanmış bağlantı parametrelerini tanımla * / fprintf (stderr, "% s \ n", mysql_error (bağ)); / * bir hata varsa hangi hatanın * / exit (1) olduğunu tanımlayın; } / * SQL sorgusu gönder * / if (mysql_query (bağ, "veriden * seç")) {/ * sorgunun tanımı ve bağlantının kaynağı * / fprintf (stderr, "% s \ n", mysql_error ( conn)); çıkış (1); } res = mysql_use_result (bağl); printf("Kimlik \ tAd \ t \ yaş \ n"); while ((row = mysql_fetch_row (res))! = NULL) / * kullanım için elde edilen tüm kayıtlarla res değişkeni üzerinden döngü * / printf("% s \ t% s \ t% s \ n", satır [0], satır [1], satır [2]); / * satır değişkeni tablodaki alanların sayısına göre bir dizi haline gelir * / / * res değişkeni bırakılır ve bağlantı kapatılır * / mysql_free_result (res); mysql_close (bağ); }
Şunlarla derliyoruz:
gcc -o Query $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)
Doğrulama
Yapıyoruz:
./Sorgu
kaynak: Hugo4295'in Blogu
İyi ki, konsolumdaki senaryo ve eğitim cephaneliğime kaydedildi! Partneriniz için +1 ...
Merhaba, bu konuyla ilgili web'de bulunan her şey için çok tebrikler, çözüme en yakın olan sizinki oldu. sadece biraz şüphe, neden yürütülebilir dosyayı alamıyorum ??
yorum anında herhangi bir hatayı işaretlemez ancak ./ser4
Fedora'da nasıl yapılacağı hakkında bir fikriniz var mı?
Bilginin paylaşılmasına katılmıyorum, ancak bu örnek benim tarafımdan 2011'den beri yapıldığından telif hakkı konulmamışsa ve işte orijinal kaynağın adresi
http://hugo4295.blogspot.mx/search?q=MYSQL
Sorun değil Victor, ama fark ederseniz makaleyi sizin sitenizden almadım ama başka bir yerden maalesef kaynağı koymadılar. Ancak, şu anda makaleyi düzenliyorum .. 😉
mükemmel paylaşım bilgisi büyük özgürlük
Ve nasıl eklemeler yapılabilir ???