Penggunaan fungsi POSTGRESQL://LOCALHOST:5432 pada PHP

Setelah artikel mengenai “Bermain Dynamic Tabel Row dengan menggunakan Javascript”, ada teman yang bertanya bagaimana sih caranya memasukkan datanya ke dalam database setelah nilai dari masing – masing variabel dari element javascript tersebut didapat, saya pikir seharusnya seorang programmer php harus sudah mengetahui pengetahuan basic mengenai CRUD (Create, Read, Update, Delete) terhadap database. Tapi setelah dipikir – pikir, oke-lah beramal dan berbagi pengetahuan tentang pengetahuan PHP apa salahnya, barangkali ada teman – teman yang baru mau mendalami pengetahuan ini yang akan terbantu dengan artikel ini, berikut pembahasannya.

Dalam artikel ini saya akan coba membahas bagaimana cara insert data ke sebuah table database terhadap tiga database berbeda, yaitu, mysql, postgres dan oracle dengan menggunakan php sebagai bahasa pemrograman, tapi sebelum melangkah ke pembahasan tersebut, kita perlu mengambil “dynamic.php” dari source artikel tersebut, dengan terlebih dahulu melakukan sedikit modifikasi pada source code sebagai berikut.


 
  Dynamic Table, Add / Delete Row
 
 
  
Nomor Induk Nama Siswa Alamat Lengkap

Pada source code diatas ada sedikit penambahan pada baris ke 05, 23 dan 26 yaitu penambahan tag form dan tombol submit untuk melakukan request action terhadap server, dan melakukan proses lanjutan terhadap database dengan melakukan proses insert, dalam pembahasan ini sengaja dibuat tiga buah file source code yang berbeda untuk setiap transaction insert terhadap database, file tersebut adalah “dynamic1.php” untuk transaksi mysql, “dynamic2.php” untuk transaksi postgres, dan yang terakhir “dynamic3.php” untuk transaksi oracle. Kemudian buatlah sebuah table dengan struktur sebagai berikut untuk dibuat sebagai contoh kasus:

Nama FieldType FieldPrimary KeyidInteger / NumericYesno_indukVarchar(10)namaVarchar(30)alamatVarchar(45)

Script Create Table akan seperti berikut untuk ke tiga jenis database tersebut:

MySql

CREATE TABLE "latih"."tbl_siswa" (
  "id" int(10) unsigned NOT NULL auto_increment,
  "no_induk" varchar(10) default NULL,
  "nama" varchar(30) default NULL,
  "alamat" varchar(45) default NULL,
  PRIMARY KEY ("id")
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Postgres

CREATE TABLE tbl_siswa
(
  id numeric NOT NULL DEFAULT 0,
  no_induk varchar(10),
  nama varchar(30),
  alamat varchar(45),
  CONSTRAINT pk_id PRIMARY KEY (id)
)
WITHOUT OIDS;
ALTER TABLE tbl_siswa OWNER TO postgres;
GRANT ALL ON TABLE tbl_siswa TO postgres;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE tbl_siswa TO public;

Oracle

CREATE TABLE TBL_SISWA (
  ID        INTEGER       NOT NULL,
  NO_INDUK  VARCHAR2 (10),
  NAMA      VARCHAR2 (30),
  ALAMAT    VARCHAR2 (45),
  CONSTRAINT PK_TBL_SISWA
  PRIMARY KEY ( ID )
    USING INDEX
     TABLESPACE USERS PCTFREE 10
     STORAGE ( INITIAL 65536 ))
   TABLESPACE USERS
   PCTFREE 10
   INITRANS 1
   MAXTRANS 255
  STORAGE (
   INITIAL 65536
   MINEXTENTS 1
   MAXEXTENTS 2147483645
 )
   NOCACHE;

Setelah table terbentuk di masing – masing database, sekarang kita akan membahas bagaimana cara insert data terhadap table tersebut menggunakan php. Tapi jangan lupa untuk terlebih dahulu mengatur configurasi pada “php.ini” dan mengaktifkan “extension=php_mysql.dll” dan “extension=php_mysqli.dll” untuk dapat mengakses database mysql (defaultnya sudah aktif), kemudian “extension=php_pgsql.dll” untuk mengakses postgres, kemudian yang terakhir “extension=php_oci8.dll” untuk mengakses oracle. Sekarang kita bahas script php-nya, pertama – tama kita akan membuat file “dynamic1.php” yang berisi proses transaksi insert terhadap server mysql, berikut source codenya:

';

 $link1 = mysql_select_db('latih');
 if (!$link1) {
  die('Could not select database');
 }
 echo 'Connected schema 
'; $table = 'tbl_siswa'; if (is_array($index)) { echo count($index)."
"; for ($i = 0; $i < count($index); $i++) { echo $index[$i]." ".$nomorInduk[$i]." ".$namaSiswa[$i]." ".$alamatSiswa[$i]."
"; mysql_query("LOCK TABLES " . $table . " WRITE;"); mysql_query("INSERT INTO " . $table . " (no_induk, nama, alamat) VALUES ('$nomorInduk[$i]','$namaSiswa[$i]','$alamatSiswa[$i]');"); mysql_query("UNLOCK TABLES;"); } } mysql_close($link); ?>

Berikutnya dilanjutkan dengan pembahasan proses insert terhadap table pada database postgres yang source code nya dapat dilihat pada file “dynamic2.php”:

';

 $table = 'tbl_siswa';
 if (is_array($index)) {
  echo count($index)."
"; for ($i = 0; $i < count($index); $i++) { echo $index[$i]." ".$nomorInduk[$i]." ".$namaSiswa[$i]." ".$alamatSiswa[$i]."
"; $last_id = pg_query($link, "SELECT MAX(id) AS newid FROM " . $table . ";"); if ($line = pg_fetch_assoc($last_id)) { $new_id = $line['newid']; } if ($new_id == '' || $new_id == '0') { $new_id = 1; } else { $new_id = $new_id + 1; } echo 'NEW '.$new_id."
"; pg_query($link, "INSERT INTO " . $table . " (id, no_induk, nama, alamat) VALUES ($new_id, '$nomorInduk[$i]','$namaSiswa[$i]','$alamatSiswa[$i]');"); } } pg_close($link); ?>

Dan yang terakhir dilanjutkan dengan pembahasan proses insert terhadap table pada database oracle yang source code-nya dapat dilihat pada file “dynamic3.php”:

';

 $table = "tbl_siswa";
 if (is_array($index)) {
  echo count($index)."
"; $last_id = oci_parse($link, "SELECT MAX(id) AS newid FROM " . $table); if (!$last_id) { $e = oci_error($link); print htmlentities($e['message']); exit; } oci_execute($last_id); if ($line = oci_fetch_assoc($last_id)) { $new_id = $line['NEWID']; } if ($new_id == '' || $new_id == '0') { $new_id = 1; } else { $new_id = $new_id + 1; } echo 'NEW '.$new_id."
"; for ($i = 0; $i < count($index); $i++) { echo $index[$i]." ".$nomorInduk[$i]." ".$namaSiswa[$i]." ".$alamatSiswa[$i]."
"; $increment = oci_parse($link, "INSERT INTO " . $table . " (id, no_induk, nama, alamat) VALUES (:par1,:par2,:par3,:par4)"); oci_bind_by_name($increment, ":par1", $new_id); oci_bind_by_name($increment, ":par2", $nomorInduk[$i]); oci_bind_by_name($increment, ":par3", $namaSiswa[$i]); oci_bind_by_name($increment, ":par4", $alamatSiswa[$i]); oci_execute($increment); $new_id++; } } oci_close($link); ?>

Sedikit penjelasan mengenai script php untuk proses insert data oracle, pada baris 21 dan 31 ada script untuk mengambil data dengan menggunakan alias “as newid”, jika kita menggunakan oracle database pada aplikasi yang kita buat, maka driver oracle akan mengembalikan data dengan variabel yang sudah dirubah menjadi upper case, jadi seperti yang terlihat pada baris 31 jika script-nya seperti ini “$new_id = $line[‘newid’];” maka nilai tidak akan terambil.

Jika ada kekurangan atau masukan yang dapat meningkatkan kemampuan jangan sungkan untuk memberikan komentar, berikut source code lengkap dari proses diatas dalam satu file berupa file pdf yang dapat diambil di Source Code.

Apa kegunaan PostgreSQL?

Fungsi PostgreSQL Sebagai database management system, fungsi utama dari database PostgreSQL tentu saja sebagai lokasi penyimpanan data melalui query bahasa SQL. Mendukung fungsi utamanya tersebut, query SQL pada PostgreSQL juga menambahkan fungsi lain berupa: Mengelola transaksi.

Kapan menggunakan PostgreSQL?

PostgreSQL adalah database yang cocok digunakan pada sistem berskala besar, karena mampu menangani banyak transaksi data sekaligus. Contohnya pada aplikasi berbasis GIS (Geographical Information System). Aplikasi GIS banyak menyimpan dan mengolah data yang bersifat spasial, atau pemetaan lokasi.

Langkah langkah install PostgreSQL?

Untuk memulai instalasi PostgreSQL 12, ikuti langkah-langkah di bawah ini..
Install Repository PostgreSQL. ... .
2. Install PostgreSQL. ... .
3. Install Paket Server PostgreSQL. ... .
4. Inisialisasi Database. ... .
Jalankan PostgreSQL. ... .
6. Aktifkan PostgreSQL. ... .
7. Cek Versi PostgreSQL..

Apa perbedaan PostgreSQL dan MySQL?

MySQL adalah basis data relasional murni, tetapi PostgreSQL adalah basis data relasional objek atau ORDBMS dengan kemampuan seperti pewarisan tabel serta fungsi yang berlebihan.