|
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
www.apache.org, PHP bisa didapatkan di
www.php.net dan MySQL bisa
didownload dari
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.
<?php
$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.
<?php
$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
www.sony-ak.com.
Terimakasih.
| Send
your comments or suggestions |
|
|
|