Pages

Jumat, 13 Juni 2014

Pemrograman Database MySQL Menggunakan Bahasa C di Linux

Pemrograman Database MySQL Menggunakan Bahasa C di Linux



Untuk dapat berkoneksi dengan database MySQL kita perlu menginstal libmysqlclient-dev pada komputer. Dan pastikan juga bahwa MySQL server juga berjalan dengan baik. Dan nanti dalam pemrograman kita akan menggunakan librari dari mysqlclient ini. Langsung saja install libmysqlclient.
apin@apin-laptop:~/Latihan$ sudo apt-get install libmysqlclient-dev
Setelah diinstall maka kita telah siap untuk memulai pemrograman. Pada contoh yang pertama kita ingin menginputkan sebuah record ke sebuah tabel user pada database mail. Dan berikut source code yang dapat digunakan :
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>

int main () {
 MYSQL *konek;
 
 konek = mysql_init(NULL);
 
 //koneksi      host     user  pass    database
 if (!mysql_real_connect(konek, "localhost", "root", "root", "mail", 0, NULL, 0))  {
  fprintf(stderr, "%s\n", mysql_error(konek));
  exit(1);
 }
 
 //eksekusi query
 if (!mysql_query(konek, "INSERT INTO user VALUES ( NULL , \'user3@desakecil.com\', ENCRYPT( \'user3\' ) , \'user3/\')"))
  printf("Data berhasil dimasukkan\n");
  
 //menutup database
 mysql_close(konek);
 return 0;
}

Untuk mengompilenya di terminal gunakan perintah seperti biasa dengan menambahkan -lmysqlclient. Berikut contoh compile seta hasil running nya.
apin@apin-laptop:~/Latihan$ gcc -o hasil mysql.c -lmysqlclient
apin@apin-laptop:~/Latihan$ ./hasil 
Data berhasil dimasukkan
apin@apin-laptop:~/Latihan$ 
Dan untuk menampilkan record yang dihasilkan dari query select berikut contoh simpelnya :
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>

int main () {
 MYSQL *konek;
 MYSQL_RES *result;
 MYSQL_ROW row;
 
 konek = mysql_init(NULL);
 
 //koneksi      host     user  pass    database
 if (!mysql_real_connect(konek, "localhost", "root", "root", "mail", 0, NULL, 0))  {
  fprintf(stderr, "%s\n", mysql_error(konek));
  exit(1);
 }
 
 //eksekusi query
 if (!mysql_query(konek, "SELECT * FROM user")) {
  //menyimpan hasil query
  result = mysql_store_result(konek);
  while (row = mysql_fetch_row(result)) {
   printf("Id        : %s\n", row[0]);
   printf("Email     : %s\n", row[1]);
   printf("Password  : %s\n", row[2]);
   printf("Direktory : %s\n\n", row[3]);
  }
  //harus di free kan
  mysql_free_result(result);
 }
  
 //menutup database
 mysql_close(konek);
 return 0;
}
Dan untuk compile dan running sebagai berikut :
apin@apin-laptop:~/Latihan$ gcc -o hasil mysql.c -lmysqlclient
apin@apin-laptop:~/Latihan$ ./hasil 
Id        : 1
Email     : user1@desakecil.com
Password  : B2GDfaKPGT5VY
Direktory : user1

Id        : 2
Email     : user2@desakecil.com
Password  : zt1AImfVhsGwU
Direktory : user2/

Id        : 3
Email     : user3@desakecil.com
Password  : c/7GHfdrrgxao
Direktory : user3/

apin@apin-laptop:~/Latihan$

0 komentar:

Posting Komentar