Tutorial PHP MySQL Part 4: Cara Membuat Koneksi PHP dengan MySQL (mysql_connect)

Didalam tutorial kali ini kita akan mulai masuk dengan kode program untuk membuat koneksi antara PHP dengan MySQL. Seperti yang pernah kita bahas, PHP menyediakan 3 buah extension untuk koneksi PHP-MySQL. Mulai dari tutorial ini dan beberapa tutorial kedepan, saya akan membahas cara koneksi menggunakan mysql extension. Kali ini kita akan membahas cara membuat koneksi antara PHP dengan database MySQL. Proses koneksi ini menggunakan fungsi mysql_connect().

Karena mysql extension sudah berstatus depracated, dimana tidak disarankan untuk digunakan lagi dan kemungkinan akan dihapus oleh PHP versi berikutnya, tutorial tentang mysql extension saya buat hanya sebagai bahan referensi, dan sebagai dasar bagi kita untuk masuk kedalam mysqli extension dan PDO.

Untuk penulisan program, saya tidak menyarankan mysql extension, tetapi sebaiknya menggunakan mysqli extension dan PDO. Tutorial mengenai mysqli dan PDO akan kita bahas mulai dari tutorial PHP MySQL part 12 keatas.

Jika anda menggunakan PHP 7 (yang terdapat di XAMPP 7), mysql extension ini SUDAH TIDAK DAPAT BERJALAN. Kita harus menggunakan mysqli extension atau PDO.


Mengenal Fungsi koneksi PHP-MySQL: mysql_connect()

Untuk membuat koneksi antara PHP dengan MySQL menggunakan mysql extension, PHP menyediakan fungsi mysql_connect().

Fungsi ini diibaratkan sebagai cara untuk login kedalam MySQL Server. Fungsi mysql_connect() membutuhkan 3 argumen, dan mengembalikan nilai fungsi berupa 'variabel koneksi' ke MySQL.

Berikut adalah format dasar penulisan fungsi mysql_connect():

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
  • $link merupakan variabel yang akan menampung hasil dari fungsi mysql_connect (). Jika berhasil terhubung dengan MySQL, $link akan berisi nilai yang berfungsi sebagai 'link koneksi' dengan MySQL. Link koneksi ini akan dibutuhkan sepanjang program PHP-MySQL nantinya. Di dalam PHP, variabel $link ini dikenal dengan istilah handler, yakni variabel yang meng-handle koneksi ke MySQL.
  • mysql_host adalah argumen pertama dari fungsi mysql_connect(). Nilai mysql_host diisi dengan alamat komputer dimana MySQL Server berjalan. Jika anda menjalankan MySQL menggunakan XAMPP di komputer yang sama dengan tempat web server Apache berjalan, maka alamat ini bisa diisi dengan 'localhost' atau '127.0.0.1'. Namun jika MySQL server dijalankan dari komputer lain, argumen ini akan berisi IP address dari komputer tersebut.
  • mysql_user adalah nama user MySQL dimana kita akan login. Seperti 'root', 'admin', 'andi' dan lain-lain tergantung kepada user MySQL yang telah terdaftar di server. Cara membuat dan menghapus user MySQL telah saya bahas pada Tutorial Cara Membuat dan Menghapus User MySQL (CREATE USER). Jika anda menggunakan MySQL bawaan XAMPP, user 'root' dapat digunakan.
  • mysql_password diisi dengan password dari user yang dibuat pada argumen mysql_user.

Variabel $link yang berisi link koneksi PHP-MySQL (hasil dari fungsi mysql_connect()), termasuk ke dalam kelompok tipe data khusus PHP yang disebut resources. Variabel Resources tidak bisa berdiri sendiri dan biasanya digunakan sebagai argumen untuk fungsi lain. Anda bebas mengganti nama variabel $link dengan nama lain, seperti $koneksi, $link_mysql, dll.

Jika koneksi dengan PHP gagal dilakukan, fungsi mysql_connect() akan mengembalikan nilai Boolean FALSE. Hasil FALSE ini akan disimpan dalam variabel $link dan bisa kita gunakan dalam perulangan IF untuk menampilkan error yang terjadi.


Cara Membuat Koneksi PHP dengan MySQL

Untuk mengetahui cara membuat koneksi antara MySQL dengan PHP, langsung saja kita masuk kedalam contoh kode program cara penggunaan fungsi mysql_connect().

Berikut adalah kode PHP untuk membuat koneksi dengan MySQL:

<?php
//buat koneksi MySQL untuk user: root, tanpa password, alamat: localhost
$link=mysql_connect('localhost','root','');

//cek apakah koneksi dengan MySQL berhasil
if ($link)
   {
     //koneksi berhasil
     echo "Koneksi dengan MySQL berhasil";
   }
else
   {
     //koneksi gagal
     echo "Koneksi dengan MySQL gagal";
   }

//memeriksa nilai dari $link
echo "<br />";
echo 'hasil var_dump variabel $link : ';
var_dump($link);
?>

Jika koneksi dengan MySQL berhasil, maka di dalam web browser akan tampil gambar seperti berikut ini:

Koneksi dengan PHP dengan MySQL Server Berhasil

Pada bagian pertama kode program, saya membuat fungsi mysql_connect('localhost','root',"). Fungsi ini berarti saya mencoba login dengan MySQL Server yang berada di alamat localhost (komputer yang sama dengan web server berada), nama user 'root' dan password '' (string kosong, yang berarti tanpa password).

Fungsi mysql_connect() mengembalikan kondisi status koneksi ke dalam variabel $link. Variabel $link akan berisi link koneksi (bertipe resources) jika berhasil terkoneksi dengan MySQL, dan akan bernilai TRUE jika dikonversi menjadi Boolean.

Namun variabel $link akan berisi nilai Boolean FALSE jika PHP gagal login ke MySQL. Nilai $link ini selanjutnya bisa digunakan untuk pengecekan apakah koneksi berhasil atau tidak.

Jika terjadi kesalahan, misalkan saja saya mengubah password root menjadi '123456', maka tampilan web browser akan seperti berikut ini:

Koneksi dengan PHP dengan MySQL Server Gagal

Seperti yang terlihat, PHP mengeluarkan pesan error mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES), yang berarti login ke MySQL gagal karena salah password untuk user root.

Agar lebih informatif, diakhir program saya tampilkan nilai dari variabel $link dengan menggunakan fungsi var_dump(). Anda akan melihat bahwa variabel $link bertipe data 'resources' jika koneksi berhasil, dan bertipe data Boolean FALSE, jika koneksi gagal.

Sedikit catatan tentang user MySQL jika menggunakan MySQL Server dari XAMPP.

Selain user root, MySQL bawaan XAMPP juga berisi beberapa user lain. Berikut adalah daftar user tersebut:

Daftar User dalam MySQL Server bawaan XAMPP

Hal yang penting dari tabel diatas, MySQL membolehkan user dengan nama: ANY, yang berarti MySQL bawaan XAMPP membolehkan user dengan nama apapun untuk masuk ke MySQL Server, sehingga jika anda mengubah contoh kita menjadi: $link=mysql_connect('localhost','aku_siapa',"), PHP akan tetap berhasil masuk kedalam MySQL Server.

MySQL versi XAMPP memang tidak dirancang untuk keamanan, namun lebih kepada kemudahan dalam membuat kode program PHP.


Mengenal fungsi die() dan exit() dalam PHP

Salah satu fungsi PHP yang sering digunakan pada saat melakukan koneksi dengan MySQL adalah fungsi die() dan exit().

Sesuai dengan namanya, fungsi ini bertujuan untuk 'membunuh' atau 'keluar' dari PHP. Kedua fungsi ini bertujuan untuk membuat proses PHP berhenti diproses pada saat itu juga (pada saat fungsi ini dipanggil).

Sebelum 'bunuh diri', fungsi die() dan exit() bisa menampilkan "pesan terakhir".

Berikut adalah penggunaan fungsi die() dalam membuat koneksi antara PHP dengan MySQL:

<?php
//buat koneksi dengan MySQL
$link=mysql_connect('localhost','root','123');

//cek apakah koneksi dengan MySQL berhasil
if ($link)
   {
     //koneksi berhasil
     echo "Koneksi dengan MySQL berhasil";
   }
else
   {
     //koneksi gagal
     die("Koneksi dengan MySQL gagal");
     echo "Pesan ini tidak akan pernah ditampilkan";
   }
?>

Fungsi die() pada kode diatas akan menyebabkan proses PHP berhenti jika login ke database MySQL gagal dilakukan. Dengan menggunakan fungsi die(), kita bisa memastikan bahwa PHP tidak akan mengeksekusi perintah-perintah selanjutnya.

Apabila kita tidak menggunakan die(), maka PHP akan terus menjalankan proses berikutnya yang akan menghasilkan error (karena koneksi ke database memang tidak akan bisa dilakukan).


Menghentikan koneksi PHP MySQL dengan mysql_close()

Koneksi PHP dengan MySQL akan dihentikan secara otomatis pada saat eksekusi program selesai, yaitu pada saat halaman PHP selesai diproses, sehingga kita tidak perlu menghentikanya secara manual.

Namun jika anda ingin menghentikan koneksi dengan MySQL pada saat program PHP sedang berjalan, PHP menyediakan fungsi mysql_close(). Fungsi ini membutuhkan 1 buah argumen yang diisi dengan variabel 'link koneksi' hasil pemanggilan fungsi mysql_connect(). Variabel koneksi ini bersifat opsional, dan jika diabaikan maka PHP akan menggunakan koneksi mysql terakhir.

Berikut adalah contoh penggunaan fungsi mysql_close():

<?php
//buat koneksi dengan MySQL
$link=mysql_connect('localhost','root','123');
//...Kode Program PHP-MySQL
//...Kode Program PHP-MySQL
//...Kode Program PHP-MySQL
 
//menghentikan koneksi dengan MySQL
mysql_close($link);
//...Kode Program PHP
//...Kode Program PHP
?>

Dalam tutorial kali ini, kita telah berhasil membuat koneksi antara PHP dengan MySQL Server. Namun untuk 'berkomunikasi' dengan database dalam MySQL, harus menggunakan "query". Dalam tutorial berikutnya kita akan membahas cara menjalankan query MySQL dari PHP dengan fungsi mysql_query.

30 Comments

  1. jaka
    26 Mar 15
    • Andre
      27 Mar 15
  2. aRom
    20 Apr 15
    • Andre
      20 Apr 15
  3. idris
    11 Aug 15
    • Andre
      12 Aug 15
  4. Sayyid
    12 Aug 15
    • Andre
      12 Aug 15
  5. yulia
    29 Aug 15
  6. Deni A
    01 Nov 15
  7. dedehidayat34
    02 Mar 16
    • Andre
      02 Mar 16
  8. akbar
    18 Mar 16
    • Andre
      22 Sep 16
  9. Tomy
    22 Sep 16
  10. jamalludin
    03 Nov 16
    • Andre
      04 Nov 16
  11. aang
    17 Dec 16
    • Andre
      18 Dec 16
  12. Bayu Sadewa
    11 Feb 17
  13. Wahyu Pria Purnama
    12 Apr 17
  14. AW
    01 Aug 17
    • Andre
      02 Aug 17
  15. Nindia maulawati
    29 Dec 18
    • Andre
      30 Dec 18
  16. Kiryu
    08 Aug 19
    • Andre
      08 Aug 19
  17. Nanang S
    09 Dec 19

Add Comment

Leave a Reply to Tomy Cancel reply