PHP dan Basis Data expertizing PHP dan Basis Data expertizing | isMediaNet

Senin, 31 Oktober 2011

PHP dan Basis Data expertizing

1.    Tujuan
Setelah mempelajari bab ini diharapkan mampu mampu menangani kesalahan koneksi/query pada  PHP. membuat fungsi global untuk operasi pada  basis data. menyelesaikan program untuk rental video  disc.

2. Tools
Text editor, Apache  HTTP server, PHP, MySQL

3. Langkah Praktikum
3.1. Penanganan Kesalahan
MySQL query yang  kita kirimkan ke basis  data kadangkala mengalami kesalahan, entah karena data yang  salah  dimasukkan atau karena syntax query yang   kurang tepat.  Berikut adalah cara  PHP menangani kesalahan ketika melakukan query :


<?php
/*
* File : contoh_insert_golhar.php
* Desc : program contoh koneksi dan operasi insert ke dalam tabel golongan_harga
*/
require 'config_db.php'; //'include' file config_db.php
//buka koneksi ke MySQL server
$koneksi = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('tidak bisa terkonkesi : '.mysql_error());
//memilih basis data
mysql_select_db("rental_video_disc");
//melakukan operasi insert yang SALAH!
$sql_insert = "INSERT INTO golonga_harga(golhar_harga) VAL (5000)";
$query = mysql_query($sql_insert);
//penanganan kesalahan :
if (!$query) {
die('Invalid query: ' . mysql_error());
}
//tutup koneksi ke MySQL
mysql_close();
?>

Pada contoh di atas, fungsi mysql_error() adalah mengembalikan pesan kesalahan dari  operasi MySQL yang  dilakukan (dalam hal ini INSERT).

3.2. Fungsi  global untuk operasi pada  basis data
Minggu lalu,  telah ditugaskan untuk membuat fungsi global operasi basis data yaitu berupa fungsi untuk mendapatkan seluruh data (get_all_data) mendapatkan data sesuai  dengan id(get_data_by_id)  dan  menghapus data (del_data_by_id) yang  lebih  kurang pada  kode  berikut :
<?php
/*
* File : global_db_function.php
* Desc : program berisi fungsi untuk operasi basis data MySQL
*/
require 'config_db.php';

/* function untuk membuka koneksi mysql dan memilih database*/
function mysql_open_connection() {
$koneksi = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('tidak bisa terkonkesi : '.mysql_error());
mysql_select_db(DB_NAME);
return $koneksi;
}

/**
* function untuk mendapatkan semua data berdasarkan nama tabel
*/
function get_all_data($table_name) {
$koneksi = mysql_open_connection();
$query = "SELECT * FROM ".$table_name;
$hasil = mysql_query($query,$koneksi);
mysql_close($koneksi);
return $hasil;
}

/**
* function untuk mendapatkan semua data berdasarkan nama tabel dan id
*/
function get_data_by_id($id_col_name,$id,$table_name) {
$koneksi = mysql_open_connection();
$query = "SELECT * FROM ".$table_name." WHERE ".$id_col_name."=".$id;
$hasil = mysql_query($query,$koneksi);
mysql_close($koneksi);
return $hasil;
}

/**
* function untuk menghapus data berdasarkan nama tabel dan id
*/
function del_data_by_id($id_col_name,$id,$table_name) {
$koneksi = mysql_open_connection();
$query = "DELETE FROM ".$table_name." WHERE ".$id_col_name."=".$id;
$hasil = mysql_query($query,$koneksi);
mysql_close($koneksi);
return $hasil;
}

?>
Tujuan  dari  pembuatan fungsi global di atas adalah menghindari adanya duplikasi kode,  terutama untuk membuka dan menutup koneksi.

0 komentar:

Posting Komentar