Sebelumnya, tiap bikin program dengan PHP aku selalu memanfaatkan PEAR:DB, soalnya sebelumnya Arif udah makai. Meski sangat membantu dan banyak keuntungan, tapi kalau ada error di sana aku jadi bingung.
Makanya untuk proyek ERP yang lagi dikerjakan, aku rencana untuk membuat kelas sendiri, khusus menangani database. Jadi nantinya kalaupun ada perubahan database yang dipakai (misal dari PosgreSQL ke MySQL), perubahan hanya dilakukan di kelas tersebut.
Dillah aku "daulat" untuk ngoprek dan buat kelas tersebut, dan lumayan juga. Ternyata nggak serumit yang kubayangkan. Setelah aku periksa, aku buat beberapa perbaikan, sedikit sih. Kodingnya seperti ini.
Karena yang dipakai adalah PostgreSQL, maka sintaksnya memakai sintaks pg. Contoh manggil programnya seperti ini:
";
";
//$dB->close($dbConfig);
echo "hai ";
}
?>
Not perfect, but I think it will be usefull. Masih ada beberapa tambahan yang perlu dilakukan, terutama untuk membaca konfigurasi. Well, I think this just a first step. Keep coding, dude!!!
Makanya untuk proyek ERP yang lagi dikerjakan, aku rencana untuk membuat kelas sendiri, khusus menangani database. Jadi nantinya kalaupun ada perubahan database yang dipakai (misal dari PosgreSQL ke MySQL), perubahan hanya dilakukan di kelas tersebut.
Dillah aku "daulat" untuk ngoprek dan buat kelas tersebut, dan lumayan juga. Ternyata nggak serumit yang kubayangkan. Setelah aku periksa, aku buat beberapa perbaikan, sedikit sih. Kodingnya seperti ini.
class dbClass {
var $strConn; // connection string
var $dbCon;
var $dbError;
// fungsi untuk mengambil connection string
// data disimpan dalam strConn
function getConnString() {
$this->strConn = "host=localhost port=5432 dbname=aska user=mahawan password=mahawan";
}
//fungsi untuk konek ke database postgre
//parameternya adalah gabungan string dari nama host,port,dbname,user, dan password
function connect() {
//$conn_string = "host=localhost port=5432 dbname=aska user=mahawan password=mahawan";
$this->getConnString();
$this->dbCon = pg_connect($this->strConn);
if (!$this->dbCon) {
$this->dbError = "Cannot connect to database!";
return false;
} else {
return true;
}
}
///fungsi untuk mengeksekusi perintah SQL
///parameter yang diperlukan adalah nilai string dari SQL tersebut
function execute($stringSQL) {
//$exec = $this->connect($this->conn_string) ;
$result = pg_exec($this->dbCon, $stringSQL);
if ($result) {
return $result;
}else{
$this->dbError = "Error executing query!";
return false;
}
}
//mengambil data dari tiap record
//parameter yang diperlukan adalah hasil dari query
function fetchrow($res) {
//$res = this->execute($stringSQL);
$resFetch = pg_fetch_object($res);
if(!$resFetch){
$this->dbError = "Error executing query!";
return false;
} else {
return $resFetch;
}
}
//mengetahui jumlah record dari hasil query
//parameter yan diperlukan adalah hasil dari query
//hasil dari fungsi ini INTEGER
function numrows($resExecute)
{
$intJmlBrs = pg_numrows($resExecute);
return $intJmlBrs;
}
function close()
{
$tutupKoneksi = pg_close($dbCon);
return 0;
}
} // end of class db
Karena yang dipakai adalah PostgreSQL, maka sintaksnya memakai sintaks pg. Contoh manggil programnya seperti ini:
connect()) {
die($dB->dbError);
} else {
//$dB->execute($isiSQL,$dbConfig);
$tempExec = $dB->execute($isiSQL) ;
$totalBaris = $dB->numrows($tempExec);
echo "$totalBaris aja deh";
echo "
Kode | Keterangan |
---|---|
$data->id | ";$data->name | ";
//$dB->close($dbConfig);
echo "hai ";
}
?>
Not perfect, but I think it will be usefull. Masih ada beberapa tambahan yang perlu dilakukan, terutama untuk membaca konfigurasi. Well, I think this just a first step. Keep coding, dude!!!
Comments