Rabu, 28 Januari 2009

Cara Koneksi dari PHP ke Database MySQL

Author: Pratiwi Mileniawati
Published: May 28, 2005
Visits: 5003 - Category: PHP





Penulis kali ini ingin menyajikan tulisan sederhana mengenai cara koneksi dari PHP ke database MySQL. Ini merupakan hasil dari beberapa feedback yang masuk ke Sony AK Knowledge Center dan kami ingin membaginya dalam bentuk tulisan. Apalagi saat ini banyak sekali yang tertarik dengan web programming yang berbasis dengan solusi open source, karena gratis dan murah.
Persiapan
Pada kasus ini penulis menggunakan Apache web server Win32 versi 1.3.33, Windows XP dan PHP versi 4.3.11. Untuk MySQL, penulis gunakan versi 4.1.11 untuk Win32. Apache bisa Anda download di http://www.apache.org/, PHP bisa didapatkan di http://www.php.net/ dan MySQL bisa didownload dari http://www.mysql.com/. Penulis asumsikan Anda sudah menginstall semua komponen-komponen tersebut dan sudah berjalan dengan baik. Nyalakan semua service yang dibutuhkan, untuk menjalankan service Apache maka ketik net start apache dari command prompt Windows. Demikian pula untuk service MySQL, ketikkan net start mysql dari command prompt untuk menyalakannya. Setelah semua siap mari kita buat cara koneksi dari PHP ke MySQL-nya.

Contoh koneksi
Untuk melakukan koneksi ke MySQL ada dua fungsi yang bisa digunakan. Yang pertama adalah dengan menggunakan fungsi mysql_connect. Sintaks fungsinya adalah sebagai berikut.

resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]])

Contoh penggunaannya adalah sebagai berikut ini.

$conn = mysql_connect('localhost', 'root', 'passwordku');
if (!$conn) {
die('Koneksi ke MySQL gagal: ' . mysql_error());
}
echo 'Koneksi ke MySQL sukses dengan mysql_connect !!';
mysql_close($conn);
?>

Kita lihat di atas ada perintah mysql_connect yang fungsi utamanya adalah untuk melakukan koneksi ke database MySQL. Sebagai contoh di atas server MySQL ada di localhost dengan username root dan passwordnya adalah passwordku. Ada catatan penting yang harus diingat di sini. Sejak versi 4.1, MySQL sudah mengunakan sistem autentikasi protokol yang baru yang berbasis pada algoritma hashing. Hal ini membuat koneksi yang menggunakan client lama akan gagal dan akan menghasilkan error message seperti berikut ini.

Client does not support authentication protocol requested by server; consider upgrading MySQL client

Tidak usah takut. Penulis sendiri mengalami hal sama ketika melakukan uji coba dengan PHP 4.3.11 dan MySQL 4.1.11 ini. Solusinya mudah dan ada beberapa cara. Menurut pada manual MySQL 4.1.11, hal tersebut bisa diatasi dengan cara reset password dari user sehingga bisa diakses oleh client versi yang lama. Ini dilakukan dengan menggunakan perintah SET PASSWORD dan juga fungsi OLD_PASSWORD(). Contoh untuk melakukannya adalah sebagai berikut.

mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

Anda bisa mengganti 'some_user' dengan user yang Anda gunakan dan 'some_host' dengan host Anda (biasanya localhost). Kemudian pada bagian newpwd isikan dengan password Anda.

Persistent connection
Selain menggunakan fungsi mysql_connect, bisa juga dengan menggunakan fungsi mysql_pconnect. Apa bedanya? Ini adalah fungsi koneksi ke MySQL dengan cara persistent. Sekali kita koneksi secara persistent ke database server maka koneksi ini terus melangsungkan hubungan ke database server. Secara prinsip fungsi mysql_pconnect ini sama dengan mysql_connect hanya saja dengan dua perbedaan yaitu:

Selama mengadakan koneksi maka fungsi ini akan mencari suatu link persistent lain yang sudah terhubung ke host, user dan password yang sama. Jika link tersebut ditemukan maka identifier dari koneksi atau link tersebut akan diberikan ke client dan client tidak akan mengadakan koneksi baru ke dataase server.
Koneksi ke database tidak akan terputus jika eksekusi dari suatu script SQL selesai dilakukan. Pada fungsi mysql_connect, secara otomatis koneksi akan terputus sesaat setelah suatu script SQL dieksekusi. Pada fungsi mysql_pconnect, koneksi ke database akan terus terjadi dan tidak akan diputus walaupun Anda menggunakan fungsi mysql_close.
Sintaks dasar dari penggunaan fungsi mysql_pconnect adalah sebagai berikut.

resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]])

Contoh code PHP nya dari fungsi mysql_pconnect bisa dilihat pada code berikut ini.

$conn = mysql_pconnect('localhost', 'root', 'ariesa2001');
if (!$conn) {
die('Koneksi ke MySQL gagal: ' . mysql_error());
}
echo 'Koneksi ke MySQL sukses dengan mysql_pconnect !!';
?>

Pada PHP 5, untuk koneksi ke MySQL sudah menggunakan extension mysqli (yang merupakan singkatan dari MySQL Improved). Informasi lebih jauh mengenai hal ini bisa dilihat di www.php.net/mysqli. Tulisan mengenai mysqli ini mudah-mudahan akan kami bahas pada kesempatan yang lain.

Demikianlah tulisan sederhana mengenai cara koneksi dari PHP ke MySQL. Semoga bermanfaat bagi Anda semuanya. Jika ada komentar atau saran bisa dikirimkan ke pratiwi.mileniawati@gmail.com. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center dengan alamat di http://www.sony-ak.com/.

Terimakasih.