{  

return htmlentities(mysql_fix_string($string));  

}  

function mysql_fix_string($string)  

{  

if (get_magic_quotes_gpc()) $string = stripslashes($string);  

return mysql_real_escape_string($string);  

}  

?>  

 

Sekarang kita telah mempelajari cara mengintegrasikan PHP dengan MySQL dan 

menghindari input user yang berbahaya, bab berikutnya akan menjelaskan cara memakai  

ekstensi MySQLi yang ditingkatkan untuk kueri MySQL kita. 

memakai  Ekstensi MySQL 

Meminta Database MySQL dengan mysqli 

112 

 

Manajemen Database MySQL

Dalam bab ini, saya mereplikasi sejumlah contoh sebelumnya, tetapi menulis ulang 

untuk memakai  mysqli. Ini akan menjadi contoh yang sangat baik tentang bagaimana kita 

dapat memperbarui kode warisan apa pun yang kita temui. 

Membuat File Masuk 

Membuat file login tidak berbeda dengan mysqli dari sebelumnya, sehingga akan 

terlihat seperti contoh dibawah ini. 

Contoh File login.php 

 

<?php // login.php  

$db_hostname = 'localhost';  

$db_database = 'publications';  

$db_username = 'username';  

$db_password = 'password';  

?>  

 

Seperti pada bab sebelumnya, database yang akan kita gunakan adalah yang disebut 

publikasi, dan variabel $db_username dan $db_password harus disetel ke nama user dan kata 

sandi yang telah kita gunakan dengan MySQL. 

Menghubungkan ke MySQL 

Dengan file login.php disimpan, kita mengakses database dengan pernyataan 

require_once, dan  terhubung ke server dengan cara yang ditunjukkan pada Contoh dibawah . 

Contoh Menghubungkan ke server MySQL dengan mysqli 

 

<?php  

require_once 'login.php';  

$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database);  

if ($connection ->connect_error) die($connection ->connect_error)  

?>  

 

Contoh ini membuat objek baru bernama $connection dengan memanggil metode 

mysqli dengan semua nilai yang diambil dari login.php. Perhatikan pemeriksaan kesalahan 

yang ditingkatkan, yang kita capai dengan mereferensikan properti $connection -

>connect_error. Jika TRUE, kita memanggil fungsi die dan menampilkan detail yang 

menjelaskan kesalahan. Properti connect_error dari $connection berisi string yang merinci 

kesalahan koneksi. Objek $connection  akan digunakan dalam contoh berikut untuk 

mengakses database MySQL. 

 

5.3 MEMBANGUN DAN MENGEKSEKUSI KUERI 

Mengirim kueri ke MySQL dari PHP dengan mysqli semudah mengeluarkannya 

memakai  metode kueri. Contoh dibawah ini menunjukkan cara memakai nya. 

Contoh Membuat kueri database dengan mysqli 

 

<?php  

$query = "SELECT * FROM classics";  

$result = $connection ->query($query);  

if (!$result) die($connection ->error);  

?>  

 

113 

 

Manajemen Database MySQL

Variabel $query diatur ke kueri yang akan dibuat, tetapi di sini nilai ini diteruskan ke 

metode kueri objek $connection, yang mengembalikan hasil yang kita tempatkan di objek 

$result. kita telah melakukan semua yang kita butuhkan dengan $connection dan beralih ke 

$result untuk menikmati apa yang telah dikembalikan dari koneksi. $ result akan menjadi 

FALSE jika ada kesalahan; jika tidak, itu akan menjadi objek yang dapat diakses. Properti 

kesalahan $connection berisi string yang merinci kesalahan apa pun.  

Mengambil hasil 

sesudah  objek dikembalikan dalam $result, kita dapat memakai nya untuk 

mengambil data yang diinginkan, satu item dalam satu waktu, memakai  metode 

fetch_assoc objek. Contoh selanjutnya adalah menggabungkan dan memperluas contoh 

sebelumnya ke dalam program yang dapat kita ketik dan jalankan sendiri untuk mengambil 

hasil ini. Saya sarankan kita menyimpan skrip ini memakai  nama file query-mysqli.php. 

Contoh  Mengambil hasil dengan mysqli, satu sel pada satu waktu 

 

<?php // query -mysqli.php 

require_once 'login.php';  

$connection =  

new mysqli($db_hostname , $db_username, $db_password, $db_database);  

if ($connection ->connect_error) die($connection ->connect_error)  

$query = "SELECT * FROM classics";  

$result = $connection ->query($query);  

if (!$result) die($connection ->error);  

$rows = $result ->num_rows;  

for ($j = 0 ; $j < $rows ; ++$j)  

{  

$result ->data_seek($j);  

echo 'Author: ' . $result ->fetch_assoc()['author'] . ' <br>' ;  

$result ->data_seek($j);  

echo 'Title: ' . $result ->fetch_assoc()['title' ] . ' <br>' ;  

$result ->data_seek($j);  

echo 'Category: ' . $result ->fetch_as soc()['category'] . ' <br>' ;  

$result ->data_seek($j);  

echo 'Year: ' . $result ->fetch_assoc()['year'] . ' <br>' ;  

$result ->data_seek($j);  

echo 'ISBN: ' . $result ->fetch_assoc()['isbn'] . ' <br><br>' ;  

}  

$result ->close();  

$connection ->close();  

?>  

 

Di sini, untuk mencari baris yang benar setiap kali di sekitar loop, kita memanggil 

metode data_seek dari $result sebelum mengambil setiap item data. Kemudian kita 

memanggil metode fetch_assoc untuk mengambil nilai yang disimpan di setiap sel, dan 

menampilkan hasilnya memakai  perintah echo. Kita mungkin akan setuju bahwa semua 

pencarian data ini agak rumit dan harus ada metode yang lebih efisien untuk mencapai hasil 

yang sama. Dan, memang, ada metode yang lebih baik, yaitu mengekstrak satu baris sekaligus. 

Mengambil baris 

Untuk mengambil satu baris pada satu waktu, ganti loop for dari Contoh sebelumnya 

dengan yang disorot dalam huruf tebal pada Contoh dibawah dan kita akan menemukan 

114 

 

Manajemen Database MySQL

bahwa kita mendapatkan hasil yang sama persis. Kita mungkin ingin menyimpan file yang 

direvisi ini sebagai fetchrow-mysqli.php. 

Contoh Mengambil hasil dengan mysqli, satu per satu 

 

<?php //fetchrow -mysqli.php 

require_once 'login.php';  

$connection =  

new mysqli($db_hostname, $db_username, $db_password, $db_database);  

if ($connection ->connect_error) die($connection ->connect_error);  

$query = "SELECT * FROM classics";  

$result = $connection ->query($query);  

if (!$result) die($connection ->error);  

$rows = $result ->num_rows;  

for ($j = 0 ; $j < $rows ; ++$j) 

$result->data_seek($j); 

$row = $result->fetch_array(MYSQLI_ASSOC); 

echo 'Author: ' . $row['author'] . '<br>'; 

echo 'Title: ' . $row['title'] . '<br>'; 

echo 'Category: ' . $row['category'] . '<br>'; 

echo 'Year: ' . $row['year'] . '<br>'; 

echo 'ISBN: ' . $row['isbn'] . '<br><br>'; 

$result ->close();  

$connection ->close();  

?>  

 

Dalam kode yang dimodifikasi ini, hanya seperlima dari interogasi objek $result yang 

dibuat, dan hanya satu pencarian ke objek yang dilakukan di setiap iterasi loop, karena setiap 

baris diambil secara keseluruhan melalui metode fetch_array. Ini mengembalikan satu baris 

data sebagai array, yang kemudian ditetapkan ke array $row. Metode fetch_array dapat 

mengembalikan tiga jenis array sesuai dengan nilai yang diteruskan ke sana: 

MYSQLI_NUM 

Array numerik. Setiap kolom muncul dalam larik sesuai urutan yang kita tentukan saat 

kita membuat (atau mengubah) tabel. Dalam kasus kami, elemen ke nol dari array berisi kolom 

Penulis, elemen 1 berisi Judul, dan seterusnya. 

MYSQLI_ASSOC 

Array asosiatif. Setiap kunci adalah nama kolom. Karena item data direferensikan 

dengan nama kolom (bukan nomor indeks), gunakan opsi ini jika memungkinkan dalam kode 

kita untuk mempermudah proses debug dan membantu programmer lain mengelola kode kita 

dengan lebih baik. 

MYSQLI_BOTH 

Array asosiatif dan numerik. Array asosiatif biasanya lebih berguna daripada numerik 

karena kita dapat merujuk ke setiap kolom dengan nama, seperti $row['author'], daripada 

mencoba mengingat di mana letaknya dalam urutan kolom. Jadi skrip ini memakai  array 

asosiatif, mengarahkan kita untuk melewati MYSQLI_ASSOC.  

Menutup koneksi 

PHP pada akhirnya akan mengembalikan memori yang telah dialokasikan untuk objek 

sesudah  kita selesai dengan skrip, jadi dalam skrip kecil, kita biasanya tidak perlu khawatir 

115 

 

Manajemen Database MySQL

melepaskan memori sendiri. Namun, jika kita mengalokasikan banyak objek hasil atau 

mengambil data dalam jumlah besar, sebaiknya kita mengosongkan memori yang telah 

digunakan untuk mencegah masalah di skrip kita nanti. 

Pada halaman yang memiliki lalu lintas tinggi hal ini menjadi sangat penting karena 

jumlah memori yang dikonsumsi dalam satu sesi dapat bertambah dengan cepat. Oleh karena 

itu, perhatikan panggilan ke metode close objek $result dan $connection di skrip sebelumnya, 

segera sesudah  setiap objek tidak lagi diperlukan. Idealnya, kita harus menutup setiap objek 

hasil saat  kita telah selesai memakai nya, dan kemudian menutup objek koneksi saat  

skrip kita tidak akan mengakses MySQL lagi. Praktik terbaik ini memastikan bahwa sumber 

daya dikembalikan ke sistem secepat mungkin untuk menjaga MySQL tetap berjalan secara 

optimal, dan mengurangi keraguan apakah PHP akan mengembalikan memori yang tidak 

terpakai tepat waktu saat  kita memerlukan nya lagi. 

Contoh Praktis 

Sekarang mari kita tulis ulang program sqltest.php prosedural dari bab sebelumnya 

memakai  mysqli. Konversinya cukup mudah, seperti yang kita lihat pada Contoh dibawah 

(yang harus kita simpan sebagai mysqlitest.php jika kita ingin mengujinya, karena ia terus 

memanggil dirinya sendiri).  

Contoh Memasukkan dan menghapus memakai  mysqlitest.php 

 

<?php // mysqlitest.php  

require_once 'login.php';  

$connection =  

new mysqli($db_hostname, $db_username, $db_password, $db_database);  

if ($connection ->connect_error) die($connection ->connect_error);  

if (isset($_POST['delete']) && isset($_POST['isbn']))  

{  

$isbn = get_post($connection, 'isbn');  

$query = "DELETE FROM classics WHERE isbn=' $isbn'";  

$result = $connection ->query($query);  

if (!$result) echo "DELETE failed: $qu ery<br>" .  

$connection ->error . "<br><br>";  

}  

if (isset($_POST['author']) &&  

isset($_POST['title' ]) &&  

isset($_POST['category']) &&  

isset($_POST['year']) &&  

isset($_POST['isbn']))  

{  

$author = get_post($connection, 'author');  

$title = get_post($connection, 'title' );  

$category = get_post($connection, 'category');  

$year = get_post($connection, 'year');  

$isbn = get_post($connection, 'isbn');  

$query = "INSERT INTO classics VALUES" .  

"(' $author', ' $title', ' $category', ' $year', ' $isbn')";  

$result = $connection ->q uery($query);  

if (!$result) echo "INSERT failed: $query<br>" .  

$connection ->error . "<br><br>";  

}  

116 

 

Manajemen Database MySQL

echo <<<_END  

<form action="mysqlitest.php" method="post"><pre>  

Author <input type="text" name="author">  

Title <input type="text" name="title">  

Category <input type="text" name="category">  

Year <input type="text" name="year">  

ISBN <input type="text" name="isbn">  

<input type="submit" value="ADD RECORD">  

</pre></form>  

END;  

$query = "SELECT * FROM classics";  

$result = $connection ->query($query);  

if ( !$result) die ("Database access failed: " . $connection ->error);  

$rows = $result ->numrows;  

for ($j = 0 ; $j < $rows ; ++$j)  

{  

$result ->data_seek($j);  

$row = $result ->fetch_array(MYSQLI_NUM);  

echo <<<_END  

<pre>  

Author $row[0]  

Title $row[1]  

Category $row[2]  

Year $row[3]  

ISBN $row[4]  

</pre>  

<form action="mysqlitest.php" method="post">  

<input type="hidden" name="delete" value="yes">  

<input type="hidden" name="isbn" value="$row[4]">  

<input type="submit" value="DELETE RECORD"></form>  

END;  

}  

$result ->close();  

$connection ->close();  

function getpost($connection, $var)  

{  

return $connection ->real_escape_string($_POST[$var]);  

}  

?>  

 

Pada beberapa baris pertama menarik kode dari login.php dan membuat objek 

$connection untuk mendapatkan akses ke datab ase. Lalu ada kode untuk menghapus entri, 

yang hanya mengeluarkan perintah DELETE ke objek $connection memakai  metode 

kueri, dan mengembalikan pesan kesalahan jika ada masalah. Kemudian, jika data baru telah 

diposting ke program, program akan mengeluarkan perintah INSERT, sekali lagi pada objek 

$connection memakai  metode kueri. Dalam kedua contoh, objek $result diberikan hasil 

dari operasi ini, yang harus berupa TRUE atau FALSE. Bagian utama terakhir dari program ini 

berkaitan dengan mengekstraksi data dari database dan menampilkannya memakai  

metode data_seek dan fetch_array dari objek $result. Tidak seperti Contoh sebelumnya, 

117 

 

Manajemen Database MySQL

bagaimanapun, di mana array asosiatif dikembalikan, di sini metode fetch_array diberi nilai 

MYSQLI_NUM sehingga array num erik dikembalikan; karenanya, sel direferensikan secara 

numerik (mis., $row[0] untuk penulis). Hasilnya kemudian ditampilkan di setiap iterasi loop, 

dan akhirnya objek hasil dan koneksi ditutup. Fungsi get_post juga telah dimodifikasi di sini 

untuk memakai  metode real_escape_string baru dari objek koneksi, jadi sekarang dua 

nilai diteruskan ke sana (koneksi dan nilai string).  

 

5.4 memakai  MySQLi SECARA PROSEDUR 

Jika kita mau, ada serangkaian fungsi alternatif yang dapat kita gunakan untuk 

mengakses mysqli secara prosedural (bukan berorientasi objek). Jadi, alih -alih membuat objek 

$connection seperti ini:  

 

$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database);  

 

Anda dapat memakai  yang berikut ini: 

 

$link = mysq li_connect($db_hostname, $db_username, $db_password, $db_database);  

 

Untuk memeriksa apakah koneksi telah dibuat dan menanganinya, kita dapat memakai  

kode seperti ini: 

 

if (mysqli_connect_errno()) die(mysqli_connect_error()) ;  

 

Dan untuk membuat query MySQL, kita akan memakai  kode seperti berikut: 

 

$result = mysqli_query($link, "SELECT * FROM classics");  

 

sesudah  kembali, $result akan berisi data. Kita dapat mengetahui jumlah baris yang 

dikembalikan sebagai berikut: 

 

$rows = mysqli_num_rows($result));  

 

Integer dikembalikan dalam $rows. Kita dapat mengambil data aktual satu baris pada satu 

waktu dengan cara berikut, yang mengembalikan array numerik: 

 

$row = mysqli_fetch_array($result, MYSQLI_NUM);  

 

Dalam contoh ini, $row[0] akan berisi kolom data pertama, $row[1] yang kedua, dan 

seterusnya. Seperti yang dijelaskan, baris juga dapat dikembalikan sebagai array asosiatif atau 

sebagai kedua jenis, tergantung pada nilai yang diteruskan dalam argumen kedua. Melarikan 

diri dari string secara prosedural dengan mysqli semudah memakai  yang berikut ini: 

 

$escaped = mysqli_real_escape_string($link, $val);  

 

Untuk cara memakai  mysqli secara prosedural dan lengkap (semua aspek lain dari 

mysqli), kita dapat mengunjungi http://tinyurl.com/usingmysqli.  

  

118 

 

Manajemen Database MySQL

BAB 6 

BERKOMUNIKASI DENGAN DATABASE DARI SKRIP PHP 

 

 

PHP dan MySQL bekerja sama dengan baik, dan kemitraan dinamis inilah yang 

membuat PHP dan MySQL sangat menarik untuk pengembangan aplikasi database web. 

Apakah kita memiliki database yang penuh dengan informasi yang ingin kita sediakan untuk 

user (seperti katalog produk) atau database yang menunggu untuk diisi oleh user (misalnya, 

database pelanggan), PHP d an MySQL bekerja sama untuk mengimplementasikan aplikasi 

Anda. Bab ini menjelaskan cara mengakses MySQL dari skrip PHP. 

 

6.1 MENGETAHUI BAGAIMANA MySQL DAN PHP BEKERJA BERSAMA 

Anda berinteraksi dengan database dengan mengirimkan pesan ke server MySQL. 

Pesan-pesan disusun dalam bahasa SQL, bahasa komputer standar yang dipahami oleh 

sebagian besar sistem manajemen database. PHP tidak memahami SQL, tetapi tidak perlu: 

PHP hanya membuat koneksi dengan server MySQL dan mengirim pesan SQL melalui koneksi. 

Server MySQL menafsirkan pesan SQL, mengikuti instruksi, dan mengirimkan pesan balasan 

yang menyatakan statusnya dan apa yang dilakukannya (atau melaporkan kesalahan jika tidak 

dapat memahami atau mengikuti instruksi). Bahasa PHP menyediakan fungsi yang membuat 

komunikasi dengan MySQL sangat sederhana. Kita memakai  fungsi PHP untuk mengirim 

kueri SQL ke database. Kita tidak perlu mengetahui detail berkomunikasi dengan MySQL; PHP 

menangani detailnya. Kita hanya perlu mengetahui kueri SQL dan cara memakai  fungsi 

PHP.  

 

6.2 FUNGSI PHP YANG BERKOMUNIKASI DENGAN MySQL 

PHP menyediakan dua set fungsi untuk berkomunikasi dengan MySQL — fungsi mysql 

dan fungsi mysqli (Peningkatan MySQL).  Fungsi mana yang kita gunakan bergantung pada versi 

MySQL dan PHP yang kita gunakan. Fungsi mysqli ditambahkan dalam PHP 5 untuk digunakan 

dengan MySQL versi 4.1 dan yang lebih baru. Jika kita memakai  perusahaan hosting web, 

kita perlu tahu apakah ia menawarkan PHP 5, versi MySQL mana yang disediakannya, dan 

apakah itu membuat fungsi mysqli tersedia. Dalam buku ini, kita berasumsi bahwa kita 

memakai  PHP 5 atau yang lebih baru, MySQL 5.0, dan fungsi mysqli. Jika host web kita 

tidak menawarkan fungsi mysqli, kita perlu mengonversi fungsi mysqli dalam buku ini ke fungsi 

mysql. Jika kita menginstal PHP dan MySQL sendiri di komputer kita berencana untuk 

mengembangkan skrip PHP kita secara lokal dan mengunggah skrip yang telah selesai ke 

perusahaan hosting web Anda, kita perlu menginstal versi yang sama dan mengaktifkan fungsi 

dukungan MySQL yang sama yang disediakan oleh host web Anda. Jika tidak, jika  kita 

menginstal versi yang berbeda, bahkan yang lebih baru, skrip mungkin tidak berperilaku 

dengan cara yang sama di komputer host web kita seperti di komputer lokal Anda. 

 

6.3 BERKOMUNIKASI DENGAN MySQL 

Bab ini menjelaskan cara mengakses MySQL dari skrip PHP. Kueri SQL dikirim ke MySQL 

memakai  fungsi PHP. Berkomunikasi dengan MySQL melibatkan langkah-langkah berikut: 

1. Hubungkan ke server MySQL. 

2. Kirim kueri SQL. 

119 

 

Manajemen Database MySQL

Di bagian ini, kita memberi tahu kita cara melakukan kedua langkah tersebut, dan kita 

memberi tahu kita cara mengirim beberapa kueri. 

Menghubungkan ke server MySQL 

Sebelum kita dapat menyimpan atau mendapatkan data apa pun, kita harus terhubung 

ke database, yang mungkin berada di komputer yang sama dengan skrip PHP kita atau di 

komputer yang berbeda. Kita tidak perlu mengetahui detail koneksi ke database karena PHP 

menangani detailnya, sekarang, yang perlu kita ketahui adalah nama dan lokasi database, 

bersama dengan nama user dan kata sandi untuk mengaksesnya. Pikirkan koneksi database 

dengan cara yang sama seperti kita memikirkan koneksi telepon. Kita tidak perlu mengetahui 

detail tentang bagaimana koneksi dibuat — yaitu, bagaimana kata-kata kita berpindah dari 

telepon kita ke telepon lain — kita hanya perlu mengetahui kode area dan nomor telepon. 

Perusahaan telepon menangani detailnya. 

Untuk terhubung ke server MySQL, kita perlu mengetahui nama komputer tempat 

database berada dan ID user dan kata sandi akun MySQL Anda. Untuk sebagian besar kueri, 

kita juga perlu mengetahui nama database yang ingin kita gunakan untuk berinteraksi. Untuk 

membuka koneksi, gunakan fungsi mysqli_connect:  

$cx n = mysqli_connect(“host”,”acct”,”password”,”dbname”) or die (“message”); 

Isi informasi berikut: 

• host: Nama komputer tempat MySQL diinstal — misalnya, 

databasehost.example.com. Jika database MySQL berada di komputer yang sama 

dengan situs web Anda, kita dapat memakai  localhost sebagai nama komputer. 

Jika kita membiarkan informasi ini kosong (“”), PHP mengasumsikan localhost. 

• acct: Nama akun MySQL yang valid.  

• password: Kata sandi untuk akun MySQL ditentukan oleh acct. Jika akun MySQL tidak 

memerlukan kata sandi, jangan ketik apa pun di antara tanda kutip: "".  

• dbname: Nama database yang ingin kita gunakan untuk berkomunikasi. Parameter ini 

opsional — kita dapat memilih database nanti, dengan perintah terpisah, jika 

diinginkan. Kita dapat memilih database yang berbeda kapan saja dalam skrip Anda. 

Jika kita memakai  fungsi mysql, kita tidak dapat memilih database di fungsi 

koneksi. Kita harus memakai  fungsi terpisah — mysql_select_db — untuk memilih 

database. 

• pesan: Pesan yang dikirim ke browser jika koneksi gagal. Sambungan gagal jika 

komputer atau jaringan mati, atau jika server MySQL tidak berjalan. Ini juga mungkin 

gagal jika informasi yang diberikan tidak benar — misalnya, jika kata sandi 

mengandung kesalahan ketik. Kita mungkin ingin memakai  pesan deskriptif 

selama pengembangan, seperti Tidak dapat terhubung ke server, tetapi pesan yang 

lebih umum cocok untuk pelanggan sesudah  kita memakai  aplikasi, seperti Katalog 

tidak tersedia saat ini. Silakan coba lagi nanti. 

Host menyertakan nomor port yang diperlukan untuk koneksi. Hampir selalu, nomor portnya 

adalah 3306. Terkadang, administrator MySQL perlu mengatur MySQL agar terhubung pada 

port yang berbeda. Dalam kasus ini, nomor port diperlukan untuk koneksi. Nomor port 

ditentukan sebagai hostname:portnumber. Misalnya, kita mungkin memakai  

localhost:8808. Dengan pernyataan ini, mysqli_connect mencoba membuka koneksi ke 

komputer yang disebutkan, memakai  nama akun dan kata sandi yang diberikan. Jika 

koneksi gagal, skrip berhenti berjalan dan mengirim pesan ke browser. Pernyataan berikut 

120 

 

Manajemen Database MySQL

terhubung ke server MySQL di komputer lokal, memakai  akun MySQL bernama phpuser 

yang tidak memerlukan kata sandi: 

 

$cxn = mysqli_connect(“localhost”,”phpuser”,””,”Customer”) or die (“Couldn’t connect to 

server.”); 

 

Untuk alasan keamanan, kita harus menyimpan informasi koneksi dalam variabel dan 

memakai  variabel dalam pernyataan koneksi, sebagai berikut: 

 

$host=”localhost”; 

$user=”phpuser”; 

$password=””; 

$dbname = “Customer”; 

$cxn = mysqli_connect($host,$user,$password,$dbname)  

 or die(“Couldn’t connect to server.”); 

 

atau, untuk lebih amannya, kita dapat meletakkan pernyataan penugasan untuk informasi 

koneksi di file terpisah di lokasi tersembunyi sehingga nama akun dan kata sandi tidak ada di 

skrip. Kita memasukkan informasi akun dari file dengan memakai  pernyataan include. 

Variabel $cxn berisi informasi yang mengidentifikasi koneksi . Kita dapat membuka lebih dari 

satu koneksi sekaligus dengan memakai  lebih dari satu nama variabel. Sambungan tetap 

terbuka hingga kita menutupnya atau hingga skrip berakhir. Kita menutup koneksi sebagai 

berikut: 

 

mysqli_close($connectionname);  

Misalnya, untuk menutup koneksi pada contoh sebelumnya, gunakan pernyataan ini: 

mysqli_close($cxn);  

 

Mengirim pernyataan SQL 

sesudah  kita memiliki koneksi terbuka ke server MySQL, kita mengirim kueri 

pernyataan SQL Anda. Untuk berinteraksi dengan database, masukkan pernyataan SQL kita ke 

dalam variabel dan kirimkan ke server MySQL dengan fungsi mysqli_query, seperti pada 

contoh berikut: 

 

$query = “SELECT * FROM Customer”; 

$result = mysqli_query($cxn,$query)  

 or die (“Couldn’t execute query.”); 

 

Kueri dijalankan pada database yang saat ini dipilih untuk koneksi yang ditentukan. 

Variabel $result menyimpan informasi tentang hasil eksekusi kueri tetapi bukan hasil 

sebenarnya. Informasi dalam $result tergantung pada apakah kueri mendapatkan informasi 

dari database atau tidak: 

• Untuk kueri atau pernyataan yang tidak mendapatkan data apa pun: Va riabel $result 

berisi informasi tentang apakah kueri atau pernyataan berhasil dieksekusi atau tidak. 

Jika berhasil, $result disetel ke true; jika tidak berhasil, $result disetel ke false. 

121 

 

Manajemen Database MySQL

Beberapa kueri dan pernyataan yang tidak mengembalikan data adalah INSERT dan 

UPDATE. 

• Untuk kueri yang mengembalikan data: Variabel $result berisi pengidentifikasi hasil 

yang menentukan lokasi data yang dikembalikan, bukan data yang dikembalikan itu 

sendiri. Beberapa kueri yang mengembalikan data adalah SELECT dan SHOW. 

Penggunaan tanda kutip tunggal dan ganda dapat sedikit membingungkan saat menetapkan 

kueri atau pernyataan ke variabel $query . Kita sebenarnya memakai  tanda kutip pada 

dua tingkat: tanda kutip yang menetapkan string ke $query dan tanda kutip yang merupak an 

bagian dari bahasa SQL itu sendiri. Panduan berikut dapat membantu kita menghindari 

masalah dengan tanda kutip saat bekerja dengan SQL: 

• Gunakan tanda kutip ganda di awal dan akhir string.  

• Gunakan tanda kutip tunggal sebelum dan sesudah nama variabel.  

• Gu nakan tanda kutip tunggal sebelum dan sesudah nilai literal. 

Pernyataan berikut menunjukkan contoh menetapkan string SQL ke variabel di PHP: 

 

$query = “SELECT firstName FROM Customer”; 

$query = “SELECT firstName FROM Customer WHERE lastName=’Prakasa’”; 

$qu ery = “UPDATE Customer SET lastName=’$last_name’”; 

 

Pernyataan SQL itu sendiri tidak menyertakan titik koma (;), jadi jangan letakkan titik koma di 

dalam kutipan terakhir. Satu-satunya titik koma muncul di bagian paling akhir, seperti yang 

ditunjukkan pada contoh sebelumnya; ini adalah titik koma PHP yang mengakhiri pernyataan.  

Mengirim beberapa pertanyaan 

Terkadang, kita ingin mengirim dua atau lebih kueri secara bersamaan. MySQL 

memungkinkan kita melakukannya, tetapi kita perlu memakai  fungsi yang berbeda untuk 

mengirim kueri. Kita dapat mengirim beberapa kueri dengan fungsi berikut: 

 

mysqli_multi_query($cxn,$query)  

 

Anda mengirim kueri dalam satu string dengan kueri dipisahkan oleh titik koma: 

 

$query = “SELECT * FROM Cust;SELECT * FROM OldCust”; mysqli_multi_query($cxn,$query); 

 

Fungsi multiple_query tidak tersedia dengan fungsi mysql, hanya dengan fungsi mysqli.  

Mengirim kueri bisa jadi kurang aman daripada mengirim satu kueri. Setiap kali  kita 

memakai  data dari sumber luar, pastikan kita memvalidasi data luar secara menyeluruh. 

Misalnya, kita menampilkan formulir yang meminta nama tabel kepada pengguna, dan kita 

membuat kueri dari nama tabel yang dimasukkan pengguna, sebagai berikut: 

 

$query = “SELECT * FROM Friend”; 

 

User memasukkan nama tabel Teman. Permintaannya baik-baik saja. Namun, misalkan user 

memasukkan yang berikut ini ke dalam formulir: 

 

Friend;DELETE TABLE Friend  

122 

 

Manajemen Database MySQL

Pertanyaan kita kemudian adalah 

$query = “SELECT * FROM Friend;DELETE TABLE Friend”; 

 

Jika kita mengirim kueri ini, kuerinya tidak begitu baik. Kita tidak akan menyukai hasilnya. Kita 

mungkin tidak ingin tabel dihapus. Pastikan untuk selalu membersihkan data sebelum 

mengirimnya ke MySQL!  

Memilih Database 

Jika kita tidak memilih database dalam fungsi koneksi, kita dapat memilih database 

dengan memakai  fungsi mysqli_select_db . Kita juga dapat memakai  fungsi ini untuk 

memilih database yang berbeda kapan saja di skrip Anda. Formatnya adalah 

mysqli_select_db($cxn,”databasename”) or die (“message”); 

Jika kita memakai  fungsi mysql, bukan fungsi mysqli, kita harus memilih database dalam 

fungsi terpisah, memakai  mysql_select_db. Isi informasi berikut:  

• cxn: Variabel yang berisi informasi koneksi.  

• databasename: Nama database. 

• message: Pesan yang dikirim ke browser jika database tidak dapat dipilih. Pemilihan 

mungkin gagal karena database tidak dapat ditemukan, yang biasanya merupakan 

hasil salah ketik pada nama database. 

Misalnya, kita dapat memilih database Pelanggan dengan yang penyataan berikut: 

 

mysqli_select_db($cxn,”Customer”) or die (“Couldn’t select database.”); 

 

Jika mysqli_select_db tidak dapat memilih database, skrip berhenti berjalan dan pesan Tidak 

dapat memilih database. dikirim ke browser. Database tetap dipilih hingga kita memilih 

database yang berbeda. Untuk memilih database yang berbeda, cukup gunakan pernyataan 

fungsi mysqli_select_db baru.  

 

6.4 MENANGANI KESALAHAN MySQL 

Anda memakai  fungsi mysqli dari bahasa PHP, seperti mysqli_connect dan 

mysqli_query, untuk berinteraksi dengan database MySQL. Hal -hal kadang-kadang akan salah 

saat  kita memakai  pernyataan. Kita mungkin membuat kesalahan dalam pengetikan 

Anda, seperti salah ketik nama database. Terkadang, muncul masalah yang tidak dapat kita 

hindari, seperti database atau jaringan yang sedang down. Kita perlu memasukkan kode dalam 

skrip kita yang menangani situasi kesalahan. 

Terkadang, programmer sengaja membuat penanganan kesalahan lebih deskriptif 

untuk membantu pemecahan masalah selama pengembangan. Misalnya, kita memakai  

akun bernama root untuk mengakses database kita dan kita salah ketik, seperti dalam 

pernyataan berikut: 

 

$host = “localhost”; 

$user = “rot”; 

$password = “”; 

$cxn = mysqli_connect($host,$user,$pa ssword)  

 

123 

 

Manajemen Database MySQL

Karena kita mengetik "rot" daripada "root",  kita melihat pesan peringatan yang mirip dengan 

yang ini: 

 

Warning: Access denied for user: ‘rot@localhost’ (Using password: NO) ... 

 

Pesan kesalahan sebelumnya berisi informasi yang kita perlukan untuk memecahkan masalah 

— pesan ini menunjukkan nama akun kita yang salah ketik. Namun, sesudah  skrip kita berjalan 

dan pelanggan memakai nya, kita tidak ingin user kita melihat pesan kesalahan teknis 

yang menunjukkan ID user Anda. Kita ingin mematikan kesalahan PHP atau mengirimkannya 

ke file log kesalahan. Kita kemudian dapat memakai  pernyataan die untuk menghentikan 

skrip dan menampilkan pesan sopan kepada pengguna, sebagai berikut: 

 

$cxn = mysqli_connect($host,$user,$password)  

 or die(“The Catalog is not available at the moment. Please  

try again later.”); 

 

saat  fungsi mysqli_query() gagal, MySQL mengembalikan pesan kesalahan yang berisi 

informasi tentang penyebab kegagalan. Namun, pesan ini tidak ditampilkan kecuali  kita secara 

khusus menampilkannya. Sekali lagi, kita mungkin ingin melihat pesan-pesan ini saat kita 

mengembangkan skrip, tetapi kita mungkin tidak ingin menampilkannya ke publik. Kita dapat 

menampilkan kesalahan MySQL yang dikembalikan dengan memakai  fungsi berikut: 

 

mysqli_error($cxn)  

 

Misalnya, kita mungkin menyertakan fungsi dalam kode Anda, sebagai berikut: 

 

$query = “SELECT * FROM Cust”; 

$result = mysqli_query($cxn,$query)  

 or die (“Error: “.mysqli_error($cxn)); 

 

Dalam contoh ini, jika pemanggilan fungsi gagal, pernyataan die menampilkan kesalahan 

MySQL, yang mungkin seperti ini: 

 

Error: Table ‘catalog.cust’ doesn’t exist 

 

Terkadang, kita mungkin ingin melakukan tindakan tambahan jika fungsi gagal, seperti 

menghapus variabel atau menutup koneksi database. Kita dapat melakukan tindakan tersebut 

dengan memakai  pernyataan bersyarat: 

 

if(!$result = mysqli_query($cxn,$query))  

{  

 echo mysqli_error($cxn);  

 unset($auth);  

 exit();  

}  

124 

 

Manajemen Database MySQL

Jika pemanggilan fungsi gagal, pernyataan di blok if akan dieksekusi. Pernyataan gema 

menampilkan kesalahan MySQL yang dikembalikan oleh fungsi. Sebuah variabel dihapus, dan 

skrip keluar. Perhatikan ! (tanda seru) dalam pernyataan if. ! berarti “tidak”. Dengan kata lain, 

pernyataan if benar jika pernyataan penugasan tidak benar. 

 

6.5 FUNGSI MySQL 

Anda mungkin bertanya-tanya mengapa ada orang yang ingin memakai  fungsi 

MySQL saat  PHP hadir dengan sejumlah fungsi hebatnya sendiri. Jawabannya sangat 

sederhana: fungsi MySQL bekerja pada data yang ada di database. Jika kita memakai  PHP, 

pertama-tama kita harus mengekstrak data mentah dari MySQL, memanipulasinya, dan 

kemudian melakukan kueri database yang kita inginkan. 

Untuk melakukan kueri kompleks tanpa menghabiskan banyak waktu kita dapat 

memakai  fungsi. Jika Anda tertarik untuk mempelajari tentang string dan fungsi 

tanggal/waktu yang tersedia lebih lanjut, Anda dapat mengunjungi URL berikut: 

http://tinyurl.com/mysqlstrings http://tinyurl.com/mysqldates. 

memakai  Fungsi mysqli Bermanfaat Lainnya 

Fungsi mysqli berguna lainnya tersedia untuk kita gunakan dalam skrip PHP Anda. 

Subbagian berikut menjelaskan cara memakai  fungsi mysqli untuk menghitung jumlah 

baris yang dikembalikan oleh kueri, menentukan entri terakhir yang dibuat secara otomatis, 

menghitung baris yang terpengaruh oleh kueri, dan karakter escape. 

Menghitung jumlah baris yang dikembalikan oleh kueri 

Seringkali, kita ingin tahu berapa banyak baris yang dikembalikan oleh kueri SQL Anda. 

Kueri kita menentukan kriteria yang harus dipenuhi informasi untuk dikembalikan, seperti 

status harus sama dengan TX atau LastName harus sama dengan Prakasa. Fungsi 

mysqli_num_rows memberi tahu  kita berapa banyak baris yang ditemukan yang memenuhi 

kriteria. 

Halaman login sering memakai  fungsi ini. saat  user mencoba untuk masuk, dia 

mengetikkan nama user dan kata sandi ke dalam formulir HTML. Skrip PHP kita kemudian 

memeriksa nama user dan kata sandi dalam database. Jika ditemukan, nama user dan kata 

sandi valid. Kita mungkin memakai  kode yang mirip dengan berikut ini: 

 

$query = “SELECT * FROM ValidUser 

 WHERE acct = ‘$_POST[userID] 

 AND password = ‘$password’”; 

$result = mysqli_query($cxn,$query);  

$n = mysql_num_rows( $result);  

if($n < 1)  

{  

 echo “User name and password are not valid”; 

 exit();  

}  

 

Dalam kode ini, kueri SQL mencari baris dengan nama user (disebut acct dalam contoh ini) dan 

kata sandi yang diberikan oleh user dalam formulir. Kode kemudian menguji hasil kueri untuk 

melihat berapa banyak baris yang dikandungnya. Jika hasilnya tidak berisi baris apa pun, yaitu 

kurang dari satu baris, user dengan nama user dan kata sandi yang diberikan tidak ada di 

125 

 

Manajemen Database MySQL

database, dan dengan demikian, informasi akun tidak valid dan user tidak diizinkan untuk 

masuk di. 

Menentukan entri otomatis terakhir 

Banyak tabel database berisi field AUTO_INCREMENT. Ini adalah field serial di mana 

MySQL menambahkan nilai field secara otomatis. saat  sebuah baris ditambahkan, MySQL 

memberikan field AUTO_INCREMENT nilai seri berikutnya sesudah  baris sebelumnya. Field 

tersebut sering didefinisikan sebagai pengidentifikasi unik atau kunci utama untuk tabel. 

Karena MySQL menambahkan nilai otomatis, kita tidak perlu tahu nilai mana yang 

disimpan di field untuk baris baru. Dalam beberapa situasi, kita perlu mengetahui nomornya 

sehingga kita dapat memakai nya nanti dalam skrip. Fungsi mysqli_insert_id 

mengembalikan nomor yang terakhir ditambahkan ke field AUTO_INCREMENT.  

Satu situasi di mana kita perlu mengetahui nomor MySQL yang disimpan di lapangan 

adalah saat kita menyimpan pesanan dan memesan item dalam tabel terpisah. Misalnya, jika 

kita mendefinisikan field orderID sebagai field AUTO_INCREMENT, MySQL menambahkan 

nomor ke field orderID. Namun, kita perlu menyimpan nomor ini di tabel OrderItem sehingga 

kita bisa menghubungkan item ke pesanan. Kita mungkin memakai  kode yang mirip 

dengan berikut ini:  

 

$query = “INSERT INTO CustomerOrder (customerID,orderDate) 

 VALUES ($customerID,$date)”; 

$result = mysqli_query($cxn,$query);  

$orderID = mysqli_insert_id($cxn);  

$query = “INSERT INTO OrderItem (orderID,color,size,price)  

 VALUES ($orderID,$color,$size,$price)”; 

$result = mysqli_query($cxn,$query);  

 

Dalam kueri pertama, orderID tidak ditentukan, jadi MySQL menyimpan nomor seri berikutnya 

di field itu. Dalam kueri kedua, ID pesanan yang dimasukkan dalam kueri sebelumnya 

dimasukkan ke dalam tabel kedua. 

Menghitung baris yang terpengaruh 

Beberapa kueri SQL mengubah database, tetapi tidak mengembalikan data apa pun. 

Misalnya, kueri UPDATE dapat mengubah data dalam tabel, tetapi tidak mengembalikan data 

apa pun. Dalam hal ini, pernyataan UPDATE dapat memengaruhi satu, banyak, atau nol baris. 

Misalnya, berikut ini adalah pernyataan UPDATE: 

 

$stmt = “UPDATE Customer SET lastName = “Prakasa” WHERE lastName = “Prakasa”; 

 

Pernyataan ini akan mengubah nama belakang apa pun dalam tabel dengan nilai Prakasa 

menjadi Prakasa. 

Dalam beberapa kasus, kita mungkin perlu mengetahui berapa banyak baris yang 

diubah oleh pernyataan tersebut. Dalam contoh ini, mungkin tidak ada seorang pun di 

database dengan nama Prakasa atau mungkin ada ratusan. Kita dapat mengetahui berapa 

banyak baris yang diperbarui dengan fungsi mysqli_affected_rows. Fungsi ini mengembalikan 

jumlah baris yang dipengaruhi oleh pernyataan UPDATE, INSERT, REPLACE, atau DELETE 

terakhir. 

126 

 

Manajemen Database MySQL

Misalkan kita ingin mengatur field dalam tabel yang mengidentifikasi siswa yang lulus 

ujian. Kita mungkin juga ingin tahu berapa banyak siswa yang lulus. Kita mungkin 

memakai  kode yang mirip dengan berikut ini: 

 

$query = “UPDATE Student SET status=’pass’ WHERE score > 50”; 

$result = mysqli_query($cxn,$query);  

$passed = mysqli_affected_rows($cxn);  

echo “$passed students passed”; 

 

Dalam kode ini, setiap siswa dalam tabel yang nilainya lebih tinggi dari 50 lulus ujian. Variabel 

$lulus beri si jumlah siswa yang nilainya cukup tinggi sehingga field status mereka diperbarui 

menjadi "lulus".  

Escaping Character 

Saat kita menyimpan informasi string apa pun di database Anda, kita harus keluar dari 

karakter khusus. Ini adalah ukuran keamanan yang penting. Versi PHP sebelum versi 6 

menyediakan fitur yang disebut tanda kutip ajaib yang secara otomatis keluar dari semua 

string dalam array $_POST dan $_GET. Tanda kutip tunggal, tanda ku tip ganda, garis miring 

terbalik, dan karakter nol diloloskan. Fitur ini, dirancang untuk membantu user pemula, 

dikendalikan oleh pengaturan magic_quotes -gpc di php.ini dan diaktifkan secara default di 

PHP 4 dan PHP 5. Di PHP 6, fitur kutipan ajaib tidak lagi tersedia. 

Fitur kutipan ajaib menghasilkan banyak pelarian yang tidak efisien dan tidak perlu. Ini 

juga terkadang menghasilkan pelarian yang tidak diinginkan. Secara umum, kita menyarankan 

kita mematikan tanda kutip ajaib di file php.ini Anda. Membuat perubahan pada php.ini 

dibahas secara lebih rinci dalam Buku IV, Bab 1. Karena penting bahwa  kita menghindari data 

kita sebelum menyimpannya, jika fitur tanda kutip ajaib dimatikan, kita harus menghapus data 

kita secara manual. Fungsi mysqli_real_escape_st ring disediakan untuk tujuan ini. Sebelum 

menyimpan data apa pun dalam database, terapkan fungsi ke dalamnya. Baris berikut 

menunjukkan beberapa kemungkinan kode yang lolos dari data sehingga aman untuk 

disimpan dalam database: 

 

$lastName = mysqli_real_esc ape_string($lastName);  

$lastName = mysqli_real_escape_string($_POST[‘lastName’]); 

 

Buku ini mengasumsikan kita memakai  PHP 5 atau lebih baru dengan fungsi mysqli untuk 

berinteraksi dengan MySQL 5.0 atau 5.1. Jika kita memakai  PHP 4, fungsi mysqli tidak 

tersedia. Sebagai gantinya, kita memakai  fungsi mysql, bahkan dengan versi MySQL yang 

lebih baru. Fungsi mysql dapat berkomunikasi dengan versi MySQL yang lebih baru, tetapi 

mereka tidak dapat mengakses beberapa fitur baru yang ditambahkan di versi MySQL yang 

lebih baru. Fungsi mysql diaktifkan secara otomatis di PHP 4. Sepanjang buku ini, contoh dan 

skrip memakai  MySQL 5.0 dan fungsi mysqli untuk berkomunikasi dengan MySQL. Fungsi 

PHP untuk digunakan dengan MySQL 5.0 memiliki format umum berikut: 

 

mysqli_function(value,value,...);  

 

127 

 

Manajemen Database MySQL

Di dalam nama fungsi adalah singkatan dari perbaikan (MySQL Improved). Bagian kedua dari 

nama fungsi khusus untuk fungsi tersebut, biasanya sebuah kata yang menjelaskan apa yang 

dilakukan fungsi tersebut. Selain itu, fungsi biasanya memerlukan satu atau lebih nilai untuk 

diteruskan, yang menentukan detail seperti koneksi database atau lokasi data. Berikut adalah 

dua fungsi mysqli yang dibahas sebelumnya dalam bab ini: 

 

mysqli_connect(connection information);  

mysqli_query($cxn,”SQL statement”); 

Fungsi mysql yang sesuai adalah 

mysql_connect(connection information);  

mysql_query(“SQL statement”,$cxn); 

 

Fungsionalitas dan sintaks dari fungsi serupa, tetapi tidak identik, untuk semua fungsi. Secara 

khusus, fungsi mysqli memakai  proses yang berbeda untuk menghubungkan ke server 

MySQL daripada fungsi mysql. Format fungsi mysqli adalah: 

 

mysqli_connect($host,$user,$password,$dbname);  

 

Proses koneksi untuk fungsi mysql memerlukan dua panggilan fungsi: 

 

mysql_connect($host,$user,$password); mysql_select_db($dbname);  

 

Jika kita perlu memakai  fungsi mysql, daripada fungsi mysqli, kita perlu mengedit skrip 

dalam buku ini, mengganti fungsi mysqli dengan fungsi mysql. Tabel dibawah ini menunjukkan 

sintaks fungsi mysqli dan sintaks fungsi mysql yang setara. 

 

Tabel 6.1 Sintaks untuk Fungsi mysql dan mysqli 

Fungsi mysqli Fungsi mysql 

mysqli_connect($host,$user, 

$passwd,$dbname)  

mysql_ connect($host,$user, $passwd) 

followed by mysql_select_db($dbname)  

mysqli_errno($cxn)  mysql_errno() or mysql_ errno($cxn)  

mysqli_error($cxn)  mysql_error() or mysql_ error($cxn)  

mysqli_fetch_array($result  mysql_fetch_ array($result)  

mysqli_fetch_assoc($result)  mysql_fetch_ assoc($result)  

mysqli_fetch_row($result)  mysql_fetch_row($result)  

mysqli_insert_id($cxn)  mysql_insert_id($cxn)  

mysqli_num_rows($result  mysql_num_rows($result)  

mysqli_query($cxn,$sql)  mysql_query($sql) or 

mysql_query($sql,$cxn)  

mysqli_select_db($cxn, $dbname)  mysql_select_db($dbname)  

mysqli_real_escape_ string($cxn,$data)  mysql_real_escape_ string($data)  

 

 

 

  

128 

 

Manajemen Database MySQL

BAB 7 

SETTING UP MySQL 

 

 

Lingkungan MySQL mencakup perangkat lunak database MySQL dan program 

pendukung yang dapat kita gunakan untuk mengelola database MySQL Anda. Perangkat lunak 

MySQL terdiri dari server database MySQL, beberapa program utilitas yang membantu dalam 

administrasi database MySQL, dan beberapa perangkat lunak pendukung yang dibutuhkan 

server MySQL (tetapi  kita tidak perlu mengetahuinya). I nti dari MySQL adalah server MySQL, 

yang mengelola database. Saat kita berinteraksi dengan database, kita mengirim pesan 

dengan permintaan ke server database, yang merespons dengan mengikuti instruksi dalam 

permintaan — menyimpan data, mendapatkan data, dan sebagainya. Untuk memakai  

database MySQL, kita perlu memakai  perangkat lunak yang dapat berkomunikasi dengan 

server MySQL. saat  kita menginstal MySQL, program client mysql diinstal secara otomatis. 

Program ini memungkinkan kita untuk mengelola database MySQL Anda. Dalam bab ini, kita 

memberi tahu kita apa yang perlu kita ketahui agar kita dapat mengaktifkan dan menjalankan 

MySQL, dan kita juga menyertakan beberapa info tentang pengujian penginstalan serta 

melakukan beberapa pemecahan masalah jika kita mengalami masalah. 

 

7.1 MEMERIKSA INSTALASI MySQL 

Anda mungkin atau mungkin tidak perlu menginstal MySQL. MySQL tidak dilengkapi 

dengan sistem operasi Windows, tetapi dalam banyak kasus di sistem operasi lain, MySQL 

sudah diinstal. Misalnya, Linux d an Mac terbaru distribusi secara otomatis menginstal MySQL. 

Mencari tahu apakah MySQL sedang berjalan atau diinstal 

Sebelum menginstal MySQL, pastikan kita benar-benar perlu menginstalnya. Mungkin 

sudah berjalan di komputer Anda, atau mungkin sudah diinstal tetapi tidak berjalan ning. 

Berikut cara memeriksa apakah MySQL sedang berjalan: 

• Windows: Jika MySQL berjalan, itu akan berjalan sebagai layanan. Untuk memeriksa 

ini, pilih Start➪Control Panel➪Alat Administratif➪Layanan dan gulir ke bawah daftar 

layanan menurut abjad. Jika MySQL diinstal sebagai layanan, itu muncul dalam daftar. 

Jika sedang berjalan, statusnya menampilkan Mulai. Jika kita menemukan MySQL 

dalam daftar layanan tetapi belum dimulai, kita dapat memulainya dengan menyorot 

MySQL di daftar layanan dan mengklik Mulai Layanan di panel kiri. 

• Linux/Unix/Mac: Pada baris perintah, ketik berikut ini: 

 

ps –ax  

 

Outputnya harus berupa daftar program. Beberapa sistem operasi (biasanya rasa Unix) 

memiliki opsi berbeda untuk perintah ps. Jika sebelumnya tidak menghasilkan daftar 

program yang sedang berjalan, ketik man ps untuk melihat opsi mana yang perlu kita 

gunakan. Dalam daftar program yang muncul, cari yang bernama mysqld. Jika  kita 

menemukannya, MySQL sedang berjalan. 

Bahkan jika MySQL saat ini tidak berjalan, mungkin diinstal tetapi tidak dimulai. Berikut cara 

memeriksa untuk melihat apakah MySQL sudah terinstal di komputer Anda: 

• Windows: Jika kita tidak menemukan MySQL dalam daftar layanan saat ini, cari 

direktori atau file MySQL. Kita dapat mencari dengan memilih Start➪Search. Direktori 

penginstalan default adalah C:\ Program Files\ MySQL\ MySQL Server nomor versi untuk 

versi terbaru atau C:\ mysql untuk versi yang lebih lama. 

129 

 

Manajemen Database MySQL

• Linux/Unix/Mac: Ketik perintah berikut: 

 

find / -name “mysql*” 

 

Jika direktori bernama mysql ditemukan, kemungkinan MySQL telah terinstal. 

 

7.2 MEMULAI MySQL 

Jika kita menemukan MySQL di komputer kita tetapi tidak menemukannya dalam 

daftar layanan saat ini (Windows) atau program yang sedang berjalan (Linux/Unix/Mac),  kita 

harus memulainya. 

Untuk memulai MySQL di Windows, ikuti langkah-langkah berikut: 

1. Buka jendela Command prompt. 

Di Windows 7, pilih Start➪All Programs➪Accessories➪Command Prompt. Di 

Windows 8, ketik perintah dari layar Mulai untuk menemukan Command prompt. 

2. Ubah ke folder tempat MySQL diinstal. 

Misalnya, ketik cd C:\Program Files\MySQL\MySQL Server 5.0. Kursor kita sekarang 

berada di folder MySQL. 

3. Ubah ke subfolder bin dengan mengetik cd bin. 

Kursor kita sekarang berada di subfolder bin. 

4. Jalankan Server MySQL dengan mengetik mysqld --install. 

Server MySQL dimulai sebagai layanan Windows. Kita dapat memeriksa penginstalan 

dengan masuk ke daftar layanan dan memastikan bahwa MySQL sekarang muncul di 

daftar layanan dan statusnya Dimulai. 

Untuk Linux, kemungkinan besar program akan memiliki skrip untuk memulainya. Di beberapa 

versi Linux,  kita dapat memulainya dengan mengetik: 

 

service mysqld starT 

 

Di versi Linux lainnya,  kita mungkin dapat memulainya seperti ini: 

 

/etc/init.d/mysqld start 

atau 

/etc/rc.d/init.d/mysqld start 

 

Lihat dokumentasi Linux  kita untuk informasi tentang cara memulai MySQL yang telah diinstal 

sebelumnya untuk distribusi dan versi Anda. Jika MySQL tidak terinstal di komputer Anda, kita 

perlu mengunduhnya dan menginstalnya dari www.mysql.com. Instruksi disediakan di sisa 

bab ini 

Mendapatkan MySQL 

Perangkat lunak sumber terbuka MySQL tersedia dalam dua edisi: 

• Server Komunitas: MySQL edisi open source yang dapat diunduh secara gratis. 

Siapapun yang dapat memenuhi persyaratan GPL (GNU Public License) dapat 

memakai  perangkat lunak ini secara gratis. Jika kita memakai  MySQL sebagai 

database di situs web (subjek buku ini),  kita dapat memakai  MySQL secara gratis, 

bahkan jika kita menghasilkan uang dengan situs web Anda 

• Server Perusahaan: Ini adalah perangkat lunak dan layanan tingkat perusahaan yang 

tersedia dengan biaya berlangganan bulanan. 

MySQL tersedia dengan lisensi komersial bagi mereka yang menginginkannya. Jika 

pengembang ingin memakai  MySQL sebagai bagian dari produk perangkat lunak baru dan 

130 

 

Manajemen Database MySQL

ingin menjual produk baru, daripada merilisnya secara gratis di bawah GPL, pengembang perl u 

membeli lisensi komersial. sesudah  memutuskan edisi mana yang ingin kita gunakan, kita dapat 

membaca beberapa informasi umum tentang apa yang tersedia di situs web MySQL dan 

kemudian mengunduh file yang sesuai untuk sistem operasi kita atau kit all-in-one. Kita juga 

dapat memverifikasi bahwa file yang kita unduh aman. 

Mengunduh dari situs web MySQL 

Anda dapat memperoleh MySQL dari situs resmi MySQL di www.mysql.com. MySQL 

tersedia dalam file biner — file mesin yang sudah dikompilasi untuk sistem operasi tertentu. 

Jika file biner tersedia untuk sistem operasi Anda, kita harus mengunduh file biner. Jika tidak 

ada biner yang tersedia untuk sistem operasi Anda, kita dapat mengunduh kode sumber dan 

mengkompilasi dan menginstal MySQL. Untuk mendapatkan MySQL, kunjungi 

www.mysql.com, pilih edisi yang sesuai untuk kita gunakan (seperti Server Komunitas), pilih 

platform Anda, dan klik tautan Unduh untuk versi yang kita inginkan. 

Mendapatkan MySQL untuk Windows 

File biner Windows tersedia dengan penginstal, yang akan menginstal, 

mengonfigurasi, dan memulai MySQL. Di halaman unduh situs web MySQL untuk versi yang 

kita inginkan, temukan bagian Windows. Di bagian Windows, klik tautan unduhan di samping 

file yang ingin kita unduh, biasanya penginstal MSI. 

Mendapatkan MySQL untuk Linux dan Unix 

Banyak distribusi Linux datang dengan MySQL yang sudah diinstal — atau memberi 

kita opsi untuk menginstal MySQL saat kita menginstal Linux. Banyak sistem Linux, seperti 

Fedora, SuSE, dan Ubuntu, menyertakan utilitas bawaan yang mengunduh dan menginstal 

MySQL untuk Anda, seringkali versi terbaru. Jika kita belum memiliki MySQL, dalam banyak 

kasus, menginstal MySQL yang disediakan oleh distribusi Linux adalah pilihan yang lebih 

mudah dan efisien daripada mengunduh dan menginstal MySQL dari situs web MySQL. Jika 

kita perlu menginstal MySQL, seperti jika MySQL di sistem kita adalah versi yang lebih lama, 

periksa situs web distribusi Linux  kita saat ini untuk melihat apakah ia menawarkan cara 

mudah untuk menginstal versi MySQL saat ini. Jika kita tidak bisa mendapatkan MySQL yang 

kita butuhkan dari situs web distribusi Linux Anda,  kita bisa mendapatkannya dari situs web 

MySQL. Halaman download menyediakan beberapa file untuk berbagai distribusi Linux.  

Mendapatkan MySQL untuk Mac 

Mac OS X 10.2 dan yang lebih baru menyertakan MySQL. Jika kita perlu menginstal 

versi MySQL yang lebih baru pada mesin Anda, situs web MySQL menyediakan file DMG untuk 

instalasi di Mac OS X 10.6 atau yang lebih baru. Lihat bagian selanjutnya, “Menginstal MySQL 

di Mac dari file DMG,” untuk petunjuk. Dalam beberapa situasi yang tidak biasa,  kita mungkin 

tidak dapat menginstal MySQL dari file DMG, seperti jika  kita memerlukan lebih banyak atau 

lebih sedikit fitur daripada DMG menyediakan . Kita dapat mengunduh kode sumber dan 

mengkompilasi dan menginstal MySQL di Mac kita jika perlu. Instruksi tersedia di situs web 

MySQL. 

Mendapatkan kit instalasi all-in-one 

Anda dapat memperoleh beberapa kit yang menginstal PHP, MySQL, dan Apache 

dalam satu prosedur. Kit ini dapat sangat menyederhanakan proses instalasi. Namun, 

perangkat lunak yang disediakan mungkin tidak menyertakan fitur dan ekstensi yang  kita 

butuhkan. XAMPP adalah kit instalasi all-in-one populer yang berisi Apache, PHP, dan MySQL. 

Itu juga menginstal phpMyAdmin, sebuah utilitas untuk mengelola database MySQL Anda. 

XAMPP memiliki versi stabil yang tersedia untuk Microsoft Windows. XAMPP tersedia di 

www.apachefriends.org/en/xampp.html .  

Memverifikasi file yang diunduh 

131 

 

Manajemen Database MySQL

Situs web MySQL menyediakan metode untuk memverifikasi perangkat lunak sesudah  

kita mengunduhnya, sebagai tindakan pencegahan keamanan untuk memastikan bahwa file 

tersebut tidak diubah oleh orang jahat. Pada dasarnya, proses yang sama digunakan untuk 

memverifikasi file untuk PHP, MySQL, dan Apache.  

Menginstal MySQL 

Meskipun MySQL berjalan di banyak platform, kita menjelaskan cara menginstalnya di 

Windows, Linux, Unix, dan Mac, yang bersama -sama mencakup sebagian besar situs web di 

Internet. Pastikan untuk membaca instruksi sepenuhnya sebelum memulai instalasi. 

Menjalankan Wizard Pengaturan MySQL di Windows 

Untuk mengatur MySQL di Windows, ikuti langkah-langkah berikut: 

1. Klik dua kali file penginstal (.msi) yang kita unduh. 

Layar pembuka yang ditunjukkan pada Gambar dibawah ini. 

 

Gambar 7.1 Layar pembuka MySQL Setup Wizard.  

 

2. Klik Instal Produk MySQL. 

Anda melihat layar untuk menerima perjanjian lisensi. sesudah  membaca 

ketentuannya, jika kita setuju, pilih I Accept the License Terms dan klik Next.  

3. Pilih Jalankan. 

Pembaruan akan diunduh. Pada tab Choose a Setup Type, pilih Full, seperti yang 

ditunjukkan pada Gambar dibawah ini. 

132 

 

Manajemen Database MySQL

 

Gambar 7.2  Layar Memilih Jenis Pengaturan dari Wizard Pengaturan MySQL.  

 

5. Klik Berikutnya. 

Pemeriksaan persyaratan dapat dilakukan; jika sudah, klik Jalankan. Prasyarat akan 

diinstal, jika perlu. Klik Berikutnya yang sesuai untuk menginstal prasyarat. Layar 

Kemajuan Instalasi akan ditampilkan. 

6. Klik Jalankan. 

Kemajuan instalasi akan ditampilkan untuk setiap komponen dan kemudian bagian 

konfigurasi akan dimulai. 

7. Pada dialog Ikhtisar Konfigurasi, klik Berikutnya untuk memulai proses konfigurasi. 

8. Pilih Mesin Pengembang dari Konfigurasi Server MySQL 

dialog dan klik Berikutnya. 

9. Pada dialog Konfigurasi Server MySQL, masukkan kata sandi yang 

Anda akan gunakan untuk akses root atau administrator dan klik Next.  

10. Pada dialog Ikhtisar Konfigurasi, klik Berikutnya untuk menginstal sampel. 

11. Jika sample sudah terpasang, klik Next. 

12. Pada dialog Instalasi Selesai, klik Selesai 

Menginstal MySQL di Linux dari file RPM 

Anda dapat menginstal MySQL di Linux memakai  RPM. Meskipun RPM adalah 

singkatan dari Red Hat Package Manager, RPM tersedia di banyak varian Linux, tidak hanya 

Red Hat. Namun, sebelum menginstal RPM dari MySQL, kita harus melihat apakah distribusi 

kita sudah memiliki paket MySQL. memakai  versi paket MySQL hampir selalu lebih 

disukai dan hampir selalu lebih mudah untuk menginstal dan memelihara nanti. Untuk 

menginstal MySQL di Linux dari file RPM yang disediakan di situs web MySQL, ikuti langkah -

langkah berikut: 

1. Ubah ke direktori tempat kita menyimpan file yang diunduh. 

Misalnya, ketik cd/usr/src/mysql. Satu file bernama MySQL-server-, diikuti dengan 

nomor versi, diikuti oleh .i386.rpm. File kedua memiliki nama yang sama dengan client, 

bukan server, dalam namanya. 

133 

 

Manajemen Database MySQL

2. Instal RPM dengan memasukkan perintah ini: 

 

rpm -i listofpackages 

 

Misalnya, perintahnya mungkin 

 

rpm -i MySQL-server-5.0.35-0.i386.rpm MySQLclient-5.0.35-0.i386.rpm 

 

Perintah ini menginstal paket MySQL. Ini menetapkan akun MySQL dan nama grup 

yang kita butuhkan dan membuat direktori data di /var/lib/mysql. Itu juga memulai 

server MySQL dan membuat entri yang sesuai di /etc/rc.d sehingga MySQL dimulai 

secara otomatis setiap kali komputer kita mulai. Kita harus memakai  akun yang 

memiliki izin untuk berhasil menjalankan perintah rpm, seperti akun root.  

3. Untuk menguji apakah MySQL berjalan dengan baik, ketik ini: 

 

bin/mysqladmin –version 

 

Anda akan melihat nomor versi server MySQL Anda. 

Menginstal MySQL di Mac dari file DMG 

Anda dapat menginstal MySQL memakai  Mac OS X 10.2 (Jaguar) atau paket biner PKG 

yang lebih baru yang diunduh dari situs web MySQL di www.mysql.com. Jika sistem operasi 

kita lebih awal dari OS X 10.2, kita tidak dapat memakai  paket ini;  kita perlu mengunduh 

tarball (file yang merupakan wadah untuk banyak file dan subdirektori) dan menginstal MySQL 

dari kode sumber. 

1. Buat user dan grup bernama mysql untuk menjalankan MySQL. 

Di sebagian besar OS X versi Mac yang lebih baru, user dan grup ini sudah ada. 

2. Ubah ke direktori tempat kita mengunduh MySQL — misalnya, /usr/local. 

Anda melihat paket bernama mysql-, diikuti dengan nomor versi dan nomor OS dan 

dmg, seperti mysql- 5.0.37-osx10.4 -powerpc.dmg. Jika file yang diunduh tidak memiliki 

ekstensi .dmg, ubah nama file menjadi ekstensi .dmg. 

3. Pasang image disk dengan mengklik dua kali ikonnya di Finder. 

4. Klik dua kali ikon paket untuk menginstal MySQL PKG. 

Penginstal paket menjalankan dan menginstal paket. Itu menginstal MySQL di direktori 

/usr/local/mysql-, diikuti dengan nomor versi. Itu juga menginstal tautan simbolis, 

/usr/local/mysql/, menunjuk ke direktori tempat MySQL diinstal. Ini menginisialisasi 

database dengan menjalankan skrip mysql_install_db, yang membuat akun MySQL 

yang disebut root. 

5. Jika perlu, ganti pemilik direktori mysql. 

Direktori tempat MySQL diinstal (misaln ya, /usr/local/mysql-5.0.37) harus dimiliki oleh 

root. Direktori data (seperti /usr/local/mysql -5.0.37/data) harus dimiliki oleh akun 

mysql. Kedua direktori harus milik grup mysql. Jika user dan grup salah, ubah dengan 

perintah berikut: 

 

sudo chown -R root /usr/local/mysql-5.0.37 

sudo chown -R mysql /usr/local/mysql-5.0.37/data 

sudo chown -R root /usr/local/mysql-5.0.37/bin 

 

6. Instal Item Startup MySQL. 

134 

 

Manajemen Database MySQL

Agar server kita mulai setiap kali komputer dinyalakan, kita perlu menginstal Item 

Startup MySQL, yang disertakan dalam image disk instalasi dalam paket instalasi 

terpisah. Untuk menginstal Item Startup, klik dua kali ikon MySQLStartupItem.pkg. 

Menginstal MySQL dari file sumber 

Sebelum kita memutuskan untuk menginstal MySQL dari file sumber, periksa RPM atau 

file biner untuk sistem operasi Anda. RPM MySQL dan file biner sudah dikompilasi 

sebelumnya, paket siap-instal untuk menginstal MySQL dan nyaman serta andal. Kita dapat 

menginstal MySQL dengan mengkompilasi file sumber dan menginstal program yang 

dikompilasi. Proses ini terdengar teknis dan menakutkan, tetapi sebenarnya tidak. Namun, 

bacalah langkah-langkah berikut sebelum kita memulai prosedur penginstalan. 

Untuk menginstal MySQL dari kode sumber, ikuti langkah-langkah ini: 

1. Buat ID user dan grup untuk MySQL untuk dijalankan dengan memakai  perintah 

berikut: 

 

groupadd mysql  

useradd -g mysql mysql 

 

Sintaks untuk perintah mungkin sedikit berbeda pada versi Unix yang berbeda, atau 

mungkin disebut addgroup dan adduser. Catatan: kita harus memakai  akun yang 

diotorisasi untuk menambahkan user dan grup. Catatan: Beberapa distribusi Linux dan 

Mac terbaru memiliki akun mysql yang sudah dibuat. 

2. Ubah ke direktori tempat kita mengunduh tarball sumber — misalnya, cd-/usr/local. 

Anda melihat file bernama mysql-, diikuti dengan nomor versi dan .tar.gz — misalnya, 

mysql-5.0.35.tar.gz. File ini adalah tarball.  

3. unpack tarball dengan mengetik 

 

gunzip -c filename | tar -xvf – 

Sebagai contoh: 

gunzip -c mysql-5.0.35.tar.gz | tar -xvf – 

 

Anda melihat direktori baru bernama mysql-version — misalnya, mysql-5.0.35 — yang 

berisi banyak file dan subdirektori. Kita harus memakai  akun yang diizinkan untuk 

membuat file di /usr/local. 

4. Ubah ke direktori baru. 

Misalnya, kita dapat mengetik cd mysql-5.0.35. 

5. Ketik berikut ini: 

 

./configure --prefix=/usr/local/mysql  

 

Anda melihat beberapa baris output. Output akan memberi tahu kita saat  configure 

telah selesai. Ini mungkin memakan waktu. 

6. Ketik membuat. 

Anda melihat banyak baris output. Output akan memberitahu kita saat  make install 

selesai. make mungkin berjalan untuk beberapa waktu. 

7. Ketik make install. 

Di Mac, ketik sudo make install. membuat instalasi selesai dengan cepat. Catatan: kita 

mungkin perlu menjalankan perintah ini sebagai root. 

8. Ketik scripts/mysql_install_db. 

Perintah ini menjalankan skrip yang menginisialisasi database MySQL Anda. 

135 

 

Manajemen Database MySQL

9. Pastikan kepemilikan dan kememberan grup direktori MySQL kita sudah benar. Atur 

kepemilikan dengan perintah ini: 

 

chown -R root /usr/local/mysql 

chown -R mysql /usr/local/mysql/data 

chgrp -R mysql /usr/local/mysql 

 

Perintah-perintah ini menjadikan root sebagai pemilik semua direktori MySQL kecuali 

data dan menjadikan mysql sebagai pemilik data. Semua direktori MySQL milik grup 

mysql. 

10. Mulai server MySQL memakai  perintah berikut: 

Di Mac: 

 

cd /usr/local/mysql  

sudo ./bin/mysqld_safe  

 

Jika perlu, masukkan kata sandi Anda. Tekan Ctrl+Z, lalu ketik:  

 

bg 

 

Terakhir, tekan Ctrl+D atau ketik exit.  

Di Linux/Unix: 

 

cd /usr/local/mysql  

bin/mysqld_safe --user=mysql &  

 

11. Siapkan komputer kita sehingga MySQL dimulai secara otomatis saat  mesin kita 

mulai dengan menyalin file mysql.server dari /usr/local/mysql/support -files ke 

lokasi di mana sistem kita memiliki file startup-nya. 

 

7.3 KONFIGURASI MySQL 

MySQL membaca file konfigurasi saat dijalankan. Jika kita memakai  default atau 

penginstal, kita mungkin tidak perlu menambahkan apa pun ke file konfigurasi. Namun, jika 

kita menginstal MySQL di lokasi yang tidak standar atau ingin database disimpan di tempat 

lain selain default, kita mungkin perlu mengedit file konfigurasi. File konfigurasi bernama 

my.ini atau my.cnf. Itu terletak di direktori sistem kita (seperti Windows atau Winnt) jika  kita 

memakai  Windows dan di /etc di Linux, Unix, dan Mac. File berisi beberapa bagian dan 

perintah. Perintah berikut di mysqldsection terkadang perlu diubah. 

 

[mysqld]  

# The TCP/IP Port the MySQL Server will listen on port=3306  

#Path to installation directory. All paths are  

#  usually resolved relative to this.basedir=”C:/Program Files/MySQL/MySQL Server 5.0/”  

#Path to the database root datadir=”C:/Program Files/MySQL/MySQL Server 5.0/Data/”  

 

Tanda # di awal baris membuat baris menjadi komentar. Baris basedir memberitahu 

server MySQL di mana MySQL diinstal. Baris datadir memberitahu server di mana database 

berada. Kita dapat mengubah nomor port untuk memberi tahu server agar mendengarkan 

kueri database pada port yang berbeda. 

136 

 

Manajemen Database MySQL

Memulai dan Menghentikan Server MySQL 

Jika kita menginstal MySQL di Windows dengan wizard, di Linux dengan RPM, atau di 

Mac dengan file PKG, server MySQL dimulai selama instalasi dan diatur sehingga dimulai 

secara otomatis setiap kali komputer kita boot. Namun, terkadang kita mungkin perlu 

menghentikan atau memulai server. Misalnya, jika kita memutakhirkan MySQL, kita harus 

mematikan server sebelum memulai pemutakhiran. Instruksi untuk memulai dan 

menghentikan server MySQL disediakan di bagian ini. Jika kita menginstal MySQL dari kode 

sumber, kita perlu memulai server MySQL secara manual dan mengaturnya agar mulai secara 

otomatis saat komputer kita boot. Instruksi untuk memulai server dan mengaturnya untuk 

memulai saat booting disertakan di bagian “Menginstal MySQL dari file sumber”, di awal bab 

ini. 

Mengontrol server di Windows 

Jika kita memakai  Windows, MySQL berjalan sebagai layanan. (MySQL diinstal 

sebagai layanan saat kita mengonfigurasinya) . Kita dapat memeriksa apakah MySQL diinstal 

sebagai layanan. Memulai dan menghentikan layanan dijelaskan di bagian berikut. Kita juga 

dapat memulai dan menghentikan server secara manual dengan memakai  perintah yang 

diatur saat MySQL diinstal. Jika kita memakai  Windows 98/Me, kita dapat memulai dan 

menghentikan server dari baris perintah di jendela Command Prompt. Memulai dan 

menghentikan server di Windows dijelaskan di bagian berikut. 

Memulai dan Menghentikan di Windows 

Untuk menghentikan atau memulai server MySQL, lakukan hal berikut: 

1. Pilih Start➪Control Panel➪Administrative Tool➪Service. 

Daftar semua layanan saat ini muncul. 

2. Gulir ke bawah daftar abjad dan klik layanan MySQL kita ingin berhenti atau 

memulai. 

Tautan Berhenti dan Mulai muncul di sebelah kiri nama layanan. 

3. Klik Berhenti atau Mulai. 

Jika kita tidak menemukan server MySQL dalam daftar, kita dapat mengaturnya 

sebagai layanan memakai  Wizard Konfigurasi.  

Melakukan shutdown manual 

Terkadang kita mungkin mengalami kesulitan mematikan server. Kita dapat 

mematikan server secara manual sebagai berikut: 

1. Buka jendela Command Prompt (mungkin disebut DOS) dengan memilih  

Start➪Programs➪Accessories➪Command Prompt. 

2. Ubah ke direktori bin di direktori tempat MySQL diinstal. 

Misalnya, kita dapat mengetik cd c:\Program Files\MySQL\MySQL Server 5.0\bin. 

3. Ketik mysqladmin -u root -p shutdown. 

Dalam perintah ini, akunnya adalah root. -p berarti kata sandi, jadi kita akan diminta 

untuk mengetik kata sandi. Jika akun yang kita tentukan tidak memerlukan kata sandi, 

tinggalkan -p. 

Mengontrol server MySQL di Linux dan Mac 

Saat MySQL diinstal di Linux, Unix, atau Mac, terkadang skrip diinstal yang dapat  kita 

gunakan untuk memulai dan menghentikan server, dengan salah satu dari perintah berikut: 

 

mysql.server start 

mysql.server stop 

mysql_server restart  

 

137 

 

Manajemen Database MySQL

Jika perintah tersebut tidak berfungsi, kita dapat mencoba perintah ini, yang berfungsi pada 

versi terbaru Red Hat dan distribusi Linux lainnya:  

 

service mysqld start 

service mysqld stop 

service mysqld restart 

 

Terakhir, beberapa versi Debian atau Ubuntu juga dapat membuat MySQL mulai 

memakai  perintah ini: 

 

/etc/init.d/mysql stop 

/etc/init.d/mysql start 

 

Anda juga dapat menghentikan server MySQL dengan utilitas mysqladmin yang diinstal saat 

MySQL diinstal. Ubah ke subdirektori bin di direktori tempat MySQL diinstal dan ketik: 

 

mysqladmin –u root –p shutdown 

 

-p menyebabkan mysqladmin meminta kita untuk memasukkan kata sandi. Jika akun tidak 

memerlukan kata sandi, jangan sertakan -p. 

Menguji MySQL 

Anda dapat menguji apakah MySQL berjalan dengan memasukkan perintah berikut di 

baris perintah: 

1. Ubah ke direktori tempat MySQL diinstal. 

Misalnya, ketik cd c:\ program files\ mysql\ mysql server 5.0. Catatan: Di Windows, buka 

jendela command prompt untuk menyediakan tempat di mana kita bisa mengetikkan 

perintah. 

2. Ubah ke subdirektori bin (cd bin). 

3. Ketik versi mysqladmin. 

Output yang memberikan informasi tentang versi MySQL ditampilkan di layar. 

Anda dapat menguji lebih lanjut bahwa MySQL siap digunakan dengan menghubungkan ke 

server MySQL dari client mysql. saat  MySQL diinstal, program sederhana berbasis teks yang 

disebut mysql juga diinstal. Karena program ini terhubung dengan server, maka disebut client. 

Program ini terhubung ke server MySQL dan bertukar pesan dengan server. Program ini 

terletak di subdirektori bin di direktori tempat MySQL diinstal. 

Untuk menguji apakah server MySQL berjalan dan menerima komunikasi, lakukan 

langkah-langkah berikut: 

1. Mulai client. 

Di Unix dan Linux, ketik path/nama file (misalnya, /usr/local/mysql/bin/mysql). Di 

Windows, buka jendela command prompt dan kemudian ketik path\ nama file (misalnya, 

c:\ Program Files\ MySQL\ MySQL Server 5.0\ bin\ mysql). Perintah ini memulai client jika 

kita tidak perlu memakai  nama akun atau kata sandi. Jika kita perlu memasukkan 

nama akun atau kata sandi atau keduanya, gunakan parameter berikut. 

• -u user : useradalah nama akun MySQL Anda 

• -p : Parameter ini meminta kita untuk memasukkan kata sandi untuk akun MySQL 

Anda. 

Misalnya, jika kita berada di direktori tempat client mysql berada, perintahnya mungkin 

terlihat seperti ini: mysql -u root -p. Tekan Enter sesudah  mengetik perintah. 

2. Masukkan kata sandi kita saat diminta. 

138 

 

Manajemen Database MySQL

Client mysql dimulai, dan kita melihat sesuatu yang mirip dengan ini: 

Welcome to the MySQL monitor. Commands end with ; or \ g. 

Your MySQL connection id is 459 to server version: 5.0.15 

Type ‘help;’ or ‘ \ h’ for help. Type ‘ \ c’ to clear the buffer. 

mysql>  

Jika server MySQL tidak berjalan dengan benar, pesan kesalahan akan ditampilkan alih-

alih pesan selamat datang. 

3. Keluar dari program client dengan mengetikkan quit. 

 

7.4 TROUBLESHOOT MySQL 

Beberapa masalah dan solusi instalasi MySQL yang lebih umum dijelaskan di bagian ini. 

Menampilkan pesan kesalahan: Akses ditolak 

Saat kita mencoba mengakses server MySQL Anda, pesan kesalahan yang mirip dengan 

berikut ini ditampilkan: 

 

Access denied for user ‘root’@’localhost’ (using password: YES)  

 

Pesan kesalahan berarti MySQL tidak mengenali nama akun dan kata sandi. Pesan tersebut 

memberikan informasi sebanyak mungkin. Dalam hal ini, pesan menunjukkan bahwa akses 

dicoba dari localhost memakai  root nama akun dan memakai  kata sandi. Jika  kita 

mengakses memakai  kata sandi kosong, pesan akan ditampilkan memakai  kata 

sandi: NO. MySQL tidak mengenali nama akun, nama akun tidak diizinkan untuk diakses dari 

host ini, atau kata sandi salah. 

Menampilkan pesan kesalahan: Client tidak mendukung protokol otentikasi 

Kata sandi MySQL disimpan dalam tabel di database mysql. saat  MySQL diperbarui 

ke versi 4.1, enkripsi kata sandi diubah, membuat kata sandi lebih aman. Namun, client MySQL 

lama tidak memahami enkripsi kata sandi baru, dan mereka menampilkan kesalahan yang 

mirip dengan berikut: 

 

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

MySQL client 

 

Secara khusus, terkadang memakai  client mysql dengan MySQL 4.1 atau yang lebih baru 

menghasilkan masalah ini. Solusi terbaik adalah memutakhirkan ke PHP 5 dan memakai  

fungsi mysqli. Jika kita tidak dapat memutakhirkan karena alasan tertentu, kita perlu 

memakai  fungsi yang disebut OLD_PASSWORD dengan perintah SET PASSWORD untuk 

mengatur kata sandi untuk setiap akun yang menyebabkan masalah. Kita mungkin 

memakai  perintah yang mirip dengan berikut ini: 

 

SET PASSWORD FOR ‘some_user’@’some_host’ = OLD_ PASSWORD(‘newpwd’); 

 

Menampilkan pesan kesalahan: Tidak dapat terhubung ke . . . 

Pesan kesalahan 2003, seperti yang ditunjukkan di sini, umumnya berarti server 

MySQL tidak berjalan: 

 

(2003): Can’t connect to MySQL server on ‘localhost’ 

 

Untuk memperbaiki masalah ini, mulai server sebagai berikut: 

139 

 

Manajemen Database MySQL

• Windows: Pilih Start➪Control Panel➪Administrative Tools➪Services Temukan 

layanan MySQL dan klik Mulai. 

• Linux/Mac: Ketik mysql.server start. Kita mungkin perlu berada di direktori tempat 

skrip mysql.server berada. 

Log kesalahan MySQL 

MySQL menulis pesan ke file log saat  mulai atau berhenti. Itu juga menulis pesan 

saat  terjadi kesalahan. Jika MySQL berhenti berjalan secara tidak terduga, kita harus selalu 

mencari petunjuk di log kesalahan. 

Berikut adalah beberapa pesan yang mungkin kita temukan di log kesalahan: 

 

070415 17:17:01 InnoDB: Started; log sequence number 0 189675 070415 18:01:05 InnoDB: 

Starting shutdown 

 

Log kesalahan disimpan dalam subdirektori bernama data di direktori tempat MySQL diinstal. 

Log kesalahan memiliki ekstensi file .err. 

Meskipun sering kali kesalahan akan memberi tahu kita apa masalahnya, jika kita 

menemukan kesalahan dari log, kita dapat memeriksa manual referensi MySQL di 

https://dev.mysql.com/doc/refman/5.5/en/error -handling.html untuk informasi lebih lanjut. 

 

7.5 PROGRAM ADMINISTRASI MySQL 

MySQL menyediakan program untuk mengelola database MySQL yang disebut MySQL 

Workbench. Program ini tidak diperlukan untuk lingkungan kerja MySQL Anda, tetapi 

menyediakan fitur yang membantu kita mengelola database Anda. Program ini berjalan pada 

Windows, Linux, dan Mac OS tetapi digunaka n terutama pada lingkungan Windows. 

Mengaktifkan Dukungan MySQL 

Perangkat lunak PHP dasar terdiri dari serangkaian fungsionalitas inti dan ekstensi 

opsional yang menyediakan fungsionalitas tambahan. Dukungan MySQL disediakan oleh 

ekstensi. Di PHP 4, dukungan MySQL disediakan secara default, tetapi mulai dengan PHP 5.0, 

kita harus mengaktifkan dukungan MySQL sebelum PHP dapat berinteraksi dengan database 

MySQL.  

PHP menyediakan dua ekstensi untuk dukungan MySQL: ekstensi mysql dan ekstensi 

mysqli (MySQL Impr oved). Ekstensi mana yang perlu  kita aktifkan bergantung pada versi PHP 

dan MySQL yang kita gunakan. 

• Ekstensi mysql, tersedia dengan PHP 4, 5, dan 6, menyediakan fungsi untuk 

berinteraksi dengan MySQL versi 4.0 dan sebelumnya. 

• Ekstensi mysqli, ditambahkan dalam PHP 5, menyediakan fungsi untuk berinteraksi 

dengan MySQL versi 4.1 dan yang lebih baru. Kita juga dapat memakai  fungsi 

mysql dengan versi MySQL yang lebih baru, tetapi mereka tidak dapat mengakses 

beberapa fitur baru yang ditambahkan di versi MySQL yang lebih baru. 

Mengaktifkan dukungan MySQL di Windows 

Anda mengaktifkan MySQL dengan mengkonfigurasi baris ekstensi di file php.ini, 

sesudah  PHP diinstal. Selain itu, kita harus meletakkan file yang dibutuhkan ekstensi di lokasi 

di mana PHP dapat menemukan file tersebut. 

Untuk mengkonfigurasi PHP untuk dukungan MySQL, lakukan langkah-langkah berikut: 

1. Buka file php.ini untuk diedit. 

2. Temukan daftar ekstensi. 

3. Temukan baris untuk ekstensi MySQL (mysql atau mysqli, seperti yang telah dibahas 

sebelumnya) yang ingin kita gunakan, seperti 

;extension=php_mysqli.dll  

140 

 

Manajemen Database MySQL

4. Hapus titik koma di awal baris. 

Jika tidak ada baris untuk ekstensi MySQL yang ingin kita gunakan, tambahkan baris. 

Mengaktifkan dukungan MySQL di Linux dan Mac OS 

Dukungan MySQL diaktifkan selama instalasi PHP di Linux dan Mac dengan opsi 

instalasi. Opsi penginstalan untuk mengaktifkan MySQL harus digunakan selama Langkah 4 

penginstalan untuk mengaktifkan dukungan MySQL. Dukungan MySQL tidak dapat 

ditambahkan kemudian, sesudah  PHP dikompilasi dan diinstal. 

Gunakan salah satu opsi penginstalan berikut:  

 

--with-mysqli=DIR  

--with-mysql=DIR  

 

DIR adalah jalur ke direktori MySQL yang sesuai. Saat memakai  with-mysqli, gunakan 

path ke file bernama mysql_config. Saat memakai  with -mysql, gunakan jalur ke direktori 

tempat mysql diinstal, seperti: 

 

--with-mysql=/user/local/mysql  

 

Di Debian dan Ubuntu, PHP dan MySQL disertakan dengan paket mereka sendiri, yang disebut 

php5-mysql di Debian. 

Memeriksa dukungan MySQL 

Untuk memeriksa apakah MySQL telah diaktifkan, jalankan skrip test.php. Output 

harus menyertakan bagian yang menunjukkan pengaturan MySQL, seperti yang ditunjukkan 

pada Gambar  dibawah. Jika bagian MySQL tidak muncul di output, lihat bagian berikutnya, 

“Pemecahan Masalah PHP dan MySQL.” 

 

Gambar 7.3 Setting MySQL 

 

141 

 

Manajemen Database MySQL

7.6 MEMECAHKAN MASALAH PHP DAN MySQL 

Bagian ini membahas beberapa kesalahan umum yang ditemui saat mencoba 

menghubungkan PHP dan MySQL satu sama lain, bersama dengan beberapa solusi. 

Menampilkan pesan kesalahan: Fungsi tidak terdefinisi 

Anda mungkin melihat pesan kesalahan yang mengeluhkan fungsi mysql, mirip dengan berikut 

ini: 

 

Fatal error: Call to undefined function mysqli_connect()  

 

Ini berarti bahwa dukungan MySQL tidak diaktifkan untuk fungsi mysqli. Entah kita tidak 

mengaktifkan dukungan MySQL atau kita mengaktifkan ekstensi mysql, bukan fungsi mysqli. 

Windows 

Jika dukungan MySQL tidak diaktifkan, baik baris ekstensi di php.ini tidak diaktifkan 

atau PHP tidak dapat menemukan file yang diperlukan. Inilah yang dapat kita lakukan tentang 

hal itu: 

• Hapus titik koma. Periksa baris ekstensi di php.ini untuk memastikan titik koma 

dihapus dari awal baris ekstensi mysqli. 

• Mulai ulang atau hentikan dan mulai server web. Jika php.ini terlihat benar, kita 

mungkin lupa me-restart server web sesudah  melakukan perubahan. Kita juga dapat 

mencoba menghentikan server web sepenuhnya dan kemudian memulainya, daripada 

memulai ulang. 

• Periksa lokasi file php.ini. Kita mungkin mengedit file php.ini yang salah. Pastikan file 

php.ini yang kita edit berada di lokasi pencarian PHP, seperti yang ditunjukkan pada 

output dari phpinfo().  

• Periksa jalur Anda. Periksa apakah direktori tempat php_mysql.dll dan libmysql.dll 

berada di jalur sistem Anda. Kita dapat memeriksa jalur kita di output dari phpinfo(). 

Bagian Lingkungan menjelang akhir output menunjukkan jalan. Namun, jalur yang 

ditampilkan bukanlah jalur yang saat ini berlaku kecuali  kita memulai ulang sistem 

sesudah  mengubah jalur. Saat kita mengubah jalur, jalur baru akan ditampilkan, tetapi 

jalur tersebut tidak benar-benar aktif hingga kita memulai ulang sistem. 

Linux atau Mac 

Jika kita melihat pesan kesalahan Fungsi Tidak Terdefinisi di Linux atau Mac,  kita tidak 

mengaktifkan ekstensi mysql saat kita menginstal PHP. Saat menginstal PHP 5 atau 6, kita 

harus memakai  salah satu opsi MySQL pada waktu kompilasi 

Fungsi MySQL tidak diaktifkan (Windows) 

Saat kita melihat output dari phpinfo(),  kita mungkin tidak melihat bagian untuk 

ekstensi mysql atau mysqli jika kita mengalami masalah dengan MySQL. Namun, di file php.ini 

Anda, salah satu atau kedua ekstensi diaktifkan. Beberapa kemungkinan penyebabnya adalah 

• Anda tidak me-restart server kita sesudah  mengubah pengaturan kita di php.ini. 

• Anda mengedit file php.ini yang salah. Periksa output phpinfo() untuk lokasi file 

tempat PHP membaca pengaturan. 

• File .dll yang diperlukan tidak berada dalam direktori yang ditentukan di jalur sistem 

Anda. 

• File MySQL .dll yang sedang dibaca PHP adalah untuk versi PHP yang berbeda.  

Terkadang saat kita memperbarui PHP, kita tidak mengganti file .dll dengan file .dll 

yang baru. 

Misalnya, kita menjalankan PHP 5.0 dan file php_mysqli.dll terletak di c: \ windows\ system32. 

Kita meningkatkan ke PHP 6.0. Kita menyalin file .dll dari \ ext ke direktori utama PHP dan 

menambahkan c:\ php ke akhir jalur sistem Anda. Namun, kita lupa menghapus file .dll lama 

142 

 

Manajemen Database MySQL

dari lokasinya saat ini. saat  PHP dimulai, ia menemukan file .dll yang lama terlebih dahulu, 

karena direktori system32 berada pertama kali di jalur sistem, dan PHP mencoba 

memakai  file lama. Karena tidak bisa memakai  file lama, PHP tidak mengaktifkan 

ekstensi mysqli. Ini bisa sangat membingungkan, berbicara dari pengalaman yang 

menyakitkan. 

 

7.7 SETTING UP WEB DEVELOPMENT ENVIRONMENT DENGAN PAKET XAMPP 

XAMPP adalah kit all-in-one populer yang menginstal Apache, MySQL, dan PHP dalam 

satu prosedur. XAMPP juga menginstal phpMyAdmin, aplikasi web yang dapat kita gunakan 

untuk mengelola database MySQL Anda. XAMPP dapat sangat menyederhanakan proses 

instalasi. Instalasi XAMPP menginstal semua perangkat lunak yang kita butuhkan untuk 

aplikasi yang dibahas dalam buku ini. Menurut situs web XAMPP, XAMPP ditujukan sebagai 

lingkungan pengembangan pada komputer lokal. Sebagai lingkungan pengembangan, XAMPP 

dikonfigurasi untuk menjadi seterbuka mungkin. XAMPP tidak dimaksudkan untuk 

penggunaan produksi — tidak aman sebagai lingkungan produksi. Sebelum memakai  

XAMPP untuk membuat situs web tersedia untuk umum, kita perlu memperketat keamanan.  

XAMPP memiliki versi stabil yang tersedia untuk Windows, Mac, dan beberapa versi Linux. 

Karena XAMPP menginstal Apache, MySQL, dan PHP, itu sesuai digunakan untuk instalasi 

hanya pada komputer yang tidak memiliki dari tiga paket yang sudah diinstal. Karena Apache 

sudah diinstal sebelumnya di banyak komputer Linux dan Mac dan sering juga MySQL 

dan/atau PHP, kemungkinan besar kita memakai  XAMPP untuk instalasi di lingkungan 

Windows. Oleh karena itu, bab ini hanya memberikan instruksi untuk penginstalan Windows. 

Mendapatkan XAMPP 

Anda dapat mengunduh XAMPP untuk Windows dari 

www.apachefriends.org/en/xampp -windows.html. Pada tulisan ini, versi XAMPP saat ini 

menginstal yang berikut: 

• MySQL 

• PHP 

• Apache 

• phpMyAdmin 

Gulir ke bawah halaman web sampai  kita tiba di bagian Unduh. Di bawah daftar XAMPP untuk 

Windows, klik tautan Penginstal untuk mengunduh versi Penginstal. File yang diunduh diberi 

nama xampp -win32-, diikuti dengan versi dan nomor perpustakaan, diikuti oleh -installer.exe, 

seperti xampp -win32-1.8.0-VC9 -installer.exe. Simpan file yang diunduh di hard drive  kita di 

tempat yang mudah ditemukan, seperti desktop. 

Menginstal XAMPP 

sesudah  kita mengunduh XAMPP, ikuti langkah-langkah ini untuk menginstalnya: 

1. Arahkan ke lokasi tempat kita menyimpan file XAMPP yang diunduh.  

File tersebut bernama sesuatu seperti xampp -win32-1.8.0-VC9 -installer.exe.  

2. Klik dua kali file tersebut. Wizard Penyiapan dimulai.  

Jika kita menginstal di Windows Vista, 7, atau 8,  kita tidak dapat menginstal di folder 

Program Files karena masalah perlindungan. Juga, PHP beberapa kali memiliki masalah 

berjalan jika diinstal di folder dengan spasi di path atau nama file, seperti Program 

Files. 

3. Baca dan klik melalui beberapa layar berikutnya sampai Pilih Install 

Layar lokasi muncul, seperti yang ditunjukkan pada Gambar dibawah ini. Sebaiknya 

terima lokasi default (c: \ xampp) kecuali  kita memiliki alasan yang sangat bagus untuk 

memilih lokasi lain. Kita dapat mengklik Browse untuk memilih folder instalasi lain. 

143 

 

Manajemen Database MySQL

 

Gambar 7.4 Layar Choose Install Location dari Setup Wizard.  

 

4. sesudah  kita memilih folder instal, klik Berikutnya. 

Layar XAMPP Options muncul, seperti yang ditunjukkan pada Gambar dibawah ini. 

 

Gambar 7.5 Layar XAMPP Options dari Setup Wizard  

 

5. Di bawah Bagian Layanan, pilih Instal Apache sebagai Layanan dan 

Instal MySQL sebagai kotak centang Layanan. Ini menginstal alat sebagai layanan 

Windows, yang menyebabkan mereka mulai secara otomatis saat  komputer dimulai. 

6. Klik tombol Instal. 

Proses instalasi memerlukan  waktu beberapa menit untuk menyelesaikannya. Saat 

proses instalasi, kita melihat berbagai file dan komponen yang diinstal pada sistem 

144 

 

Manajemen Database MySQL

Anda, di lokasi yang kita tentukan. Bilah status menunjukkan kemajuan penginstalan. 

Saat penginstalan selesai, layar Instalasi Selesai akan muncul. 

7. Klik Selesai. 

Sebuah jendela kecil terbuka, dan pesan tambahan ditampilkan. Saat bagian 

penginstalan ini selesai, layar menampilkan pesan yang memberi tahu kita bahwa 

penginstalan layanan telah selesai. 

8. Klik OK. 

Pertanyaan berikut ditampilkan: Mulai Control Panel XAMPP sekarang 

Start the XAMPP Control Panel now?  

Layar menampilkan tombol Yes dan No. 

9. Klik YES. 

Control Panel XAMPP muncul 

memakai  Control Panel XAMPP 

XAMPP menyediakan Control Panel untuk manajemen perangkat lunak yang efisien 

dalam paket XAMPP. Kita dapat memakai  Control Panel untuk menentukan apakah 

Apache dan MySQL sedang berjalan dan untuk memulai atau menghentikannya. Sebelum kita 

dapat memakai  lingkungan pengembangan Anda, Apache dan MySQL harus dijalankan. 

Bagian ini memberitahu kita bagaimana memakai  Control Panel untuk memulai dan 

menghentikan Apache dan MySQL. Control Panel XAMPP dapat berjalan terus menerus, siap 

untuk kita gunakan setiap saat. Saat Control Panel sedang berjalan, kita melihat ikon oranye 

di baki sistem di kanan bawah layar komputer Anda, seperti yang ditunjukkan pada Gambar 

dibawah ini. 

 

Gambar 7.6 Ikon Kontrol Panel 

 

Jika ikon XAMPP ada di baki sistem Anda, kita dapat mengkliknya untuk membuka 

Control Panel. Jika kita tidak memiliki ikon di baki sistem Anda, kita dapat membuka Control 

Panel dengan memilih Start➪All ProgramsApache Friends➪XAMPP➪XAMPP Control Panel. 

Jika kita mencoba untuk membuka Control Panel saat  sudah berjalan, pesan kesalahan akan 

ditampilkan. Gambar selanjutnya menunjukkan Control Panel terbuka dengan Apache dan 

MySQL berjalan. Jika instalasi berjalan lancar, Control Panel kita akan muncul seperti ini saat  

kita membukanya sesudah  instalasi. Baik Apache dan MySQL ditampilkan sebagai berjalan, dan 

kotak centang Layanan dipilih. Lingkungan pengembangan kita siap digunakan. 

145 

 

Manajemen Database MySQL

 

Gambar 7.7 Control Panel XAMPP. 

 

Terkadang, XAMPP tidak dapat memulai Apache atau MySQL sebagai layanan selama 

instalasi. Control Panel mencantumkan perangkat lunak, menunjukkan bahwa itu diinstal, 

tetapi statusnya tidak ditampilkan sebagai berjalan. Apache dan MySQL harus dijalankan 

sebelum kita dapat memakai  lingkungan pengembangan Anda. Untuk memulai Apache 

atau MySQL saat tidak berjalan, pilih kotak centang Layanan dan klik tombol Mulai. Jika 

XAMPP berhasil memulai perangkat lunak, status akan ditampilkan sebagai berjalan. Jika 

XAMPP tidak berhasil memulai perangkat lunak sebagai layanan, kita mungkin perlu memulai 

perangkat lunak tanpa memilih kotak centang Layanan. Lihat bagian "Pemecahan Masalah" di 

akhir bab ini untuk informasi lebih lanjut tentang memulai Apache dan MySQL saat  kita 

memiliki masalah. 

Tombol Berhenti ditampilkan untuk setiap paket perangkat lunak yang sedang 

berjalan. Kita dapat menghentikan perangkat lunak, cukup tepat, dengan mengklik tombol 

Stop. Kita terkadang perlu menghentikan perangkat lunak, seperti saat  kita perlu 

memutakhirkannya. 

Anda perlu me-restart Apache setiap kali kita membuat perubahan pada konfigurasi PHP 

Anda, seperti yang dijelaskan di seluruh buku ini. Untuk me-restart Apache, klik tombol Stop 

dan kemudian, sesudah  Apache dihentikan, klik tombol Start. Jika kita menutup Control Panel 

dengan mengklik Exit, program berakhir, dan  kita tidak memiliki ikon XAMPP Control Panel di 

baki sistem kita. Jika kita baru saja menutup jendela Control Panel dengan mengklik X di sudut 

kanan atas jendela, ikon Control Panel tetap tersedia di baki sistem Anda. 

Menguji Lingkungan Pengembangan Anda 

sesudah  kita menginstal paket XAMPP dan memulai Apache dan MySQL, lingkungan 

kita akan siap digunakan. Kita dapat menguji instalasi kita dengan melakukan hal berikut 

dalam urutan apa pun: 

• Buka halaman web XAMPP 

• Buka phpMyAdmin 

• Jalankan test PHP script 

146 

 

Manajemen Database MySQL

Membuka halaman web XAMPP 

Untuk menguji penginstalan XAMPP, ikuti langkah-langkah berikut: 

1. Buka peramban. 

2. Ketik localhost di address bar browser. 

Dalam beberapa kasus, jika mesin lokal kita tidak diatur untuk mengenali localhost,  

kita mungkin perlu mengetikkan 127.0.0.1 sebagai gantinya. Halaman web XAMPP 

ditampilkan, menyediakan pilihan bahasa. Dalam beberapa kasus, XAMPP sudah 

mengatur pilihan bahasa kita dan tidak bertanya lagi. Dalam hal ini, kita tidak perlu 

melakukan Langkah 3 karena browser kita sudah berada di halaman yang ditunjukkan 

pada Gambar dibawah ini. 

 

Gambar 7.8 Halaman Selamat Datang XAMPP 

 

3. Klik bahasa pilihan Anda. 

Tampilan halaman Selamat Datang XAMPP, seperti yang ditunjukkan pada Gambar  

diatas. Jika halaman web tidak ditampilkan, Apache mungkin tidak berjalan. Gunakan 

Control Panel kita untuk mengelola Apache, seperti yang dijelaskan di bagian 

sebelumnya. 

4. Klik tautan Status di panel di sisi kiri halaman. 

Daftar perangkat lunak muncul, menunjukkan perangkat lunak mana yang diaktifkan. 

MySQL dan PHP harus terdaftar sebagai diaktifkan. Apache tidak terdaftar karena jika 

Apache tidak berjalan, kita tidak dapat melihat halaman ini sama sekali. 

Menguji phpMyAdmin 

Dari halaman XAMPP welcome page kita dapat membuka phpMyAdmin untuk menguji 

instalasi. Klik tautan phpMyAdmin di bagian tool di bagian bawah panel kiri. Jika phpMyAdmin 

diinstal, itu terbuka di browser Anda. Jika halaman phpMyAdmin tidak terbuka, pastikan 

Apache dimulai.  

Menguji PHP 

Untuk menguji apakah PHP terinstal dan berfungsi, ikuti langkah-langkah berikut: 

1. Temukan direktori tempat skrip PHP kita perlu disimpan. 

Direktori ini dan subdirektori di dalamnya adalah ruang web Anda. Ini adalah ruang di 

mana Apache mencari skrip kita saat kita mengetik localhost. Direktori ini disebut 

htdocs dan terletak di direktori tempat kita menginstal XAMPP, seperti 

c:\ xampp \ htdocs. Kita dapat mengubah lokasi ruang web kita di file konfigurasi 

Apache. 

2. Buat file teks di ruang web kita dengan nama test.php. 

File harus berisi konten berikut: 

147 

 

Manajemen Database MySQL

 

<html>  

<head><title>PHP test</title></head>  

<bo dy>  

<?php  

phpinfo();  

?>  

</body>  

</html>  

 

3. Buka browser dan ketik localhost/test.php ke dalam bilah alamat. 

Output dari skrip PHP ini adalah daftar panjang pengaturan dan variabel untuk instalasi 

PHP Anda, seperti yang ditunjukkan pada Gambar dibawah ini. 

 

Gambar 7.9 Output dari skrip PHP. 

 

4. Gulir ke bawah daftar untuk menemukan bagian pengaturan untuk MySQL. 

Bagian perangkat lunak terdaftar dalam urutan abjad, dimulai dengan bcmath. Bagian 

MySQL terletak sekitar setengah dari daftar. Kita menemukan dua blok, satu menuju 

mysql dan satu menuju mysqli. 

saat  skrip PHP kita berjalan dengan benar dan output menyertakan blok pengaturan untuk 

dukungan MySQL, lingkungan kita siap untuk pekerjaan pengembangan Anda. Jika skrip PHP 

tidak berjalan, pastikan Apache dimulai. Kita dapat mengelola Apache seperti yang dijelaskan 

di bagian “memakai  Control Panel XAMPP”, di awal bab ini. 

Mengonfigurasi Lingkungan Pengembangan Anda 

Apache, MySQL, dan PHP dapat dikonfigurasi. Pengaturan konfigurasi mereka 

disimpan dalam file teks, yang dapat kita edit. saat  XAMPP menginstal perangkat lunak, itu 

membuat file konfigurasi dengan pengaturan default sehingga perangkat lunak berjalan 

dengan pengaturan umum. Namun, kita mungkin perlu mengubah konfigurasi karena 

berbagai alasan. Pengaturan konfigurasi dijelaskan di seluruh buku saat  fitur tertentu yang 

sedang dikonfigurasi dibahas. 

148 

 

Manajemen Database MySQL

XAMPP menginstal semua perangkat lunak di direktori yang kita tentukan selama 

instalasi, seperti c:\ xampp, yang merupakan direktori default. XAMPP mengkonfigurasi 

perangkat lunak untuk mencari file konfigurasi di direktori ini. Jika kita perlu mengubah 

pengaturan konfigurasi apa pun, kita harus mengedit file konfigurasi di direktori ini, bukan di 

direktori yang disebutkan dalam file bantuan atau dokumentasi lain untuk masing-masing 

perangkat lunak. 

Konfigurasi PHP 

PHP memakai  pengaturan dalam file bernama php.ini untuk mengontrol 

beberapa perilakunya. PHP mencari php.ini saat  dimulai dan memakai  pengaturan yang 

ditemukannya. Jika PHP tidak dapat menemukan file, ia memakai  satu set pengaturan 

default. XAMPP menyimpan file php.ini di direktori apache\ bin di folder XAMPP utama. 

Misalnya, jika XAMPP terletak di direktori default, kita mengedit file 

c:\ xampp \ apache\ bin\ php.ini untuk mengubah pengaturan konfigurasi PHP. 

Untuk mengkonfigurasi PHP, ikuti langkah-langkah berikut: 

1. Buka file php.ini untuk diedit di editor teks. 

2. Edit pengaturan yang ingin kita ubah. 

Langkah 3 dan 4 menyebutkan beberapa pengaturan khusus yang harus selalu kita 

ubah jika kita memakai  lingkungan yang ditentukan. 

3. Hanya jika kita memakai  PHP 5 atau lebih lama, matikan tanda kutip ajaib. 

Cari baris berikut: 

magic-quotes-gpc  

Perubahan On ke Off. 

4. Hanya jika kita memakai  PHP 5 atau lebih baru, atur zona waktu lokal Anda. 

Temukan garis: 

 

;date.timezone=  

 

Hapus titik koma dari awal baris. Tambahkan kode untuk zona waktu lokal  kita sesudah  

tanda sama dengan. Misalnya, garisnya mungkin 

 

date.timezone = Indonesia/Waktu_Indonesia_Barat  

 

Anda dapat menemukan daftar kode zona waktu di 

www.php.net/manual/en/timezones.php.  

5. Simpan file php.ini. 

6. Restart Apache agar pengaturan baru mulai berlaku. 

Secara umum, pengaturan default yang tersisa memungkinkan PHP untuk berjalan 

dengan baik, tetapi kita mungkin perlu mengedit beberapa pengaturan ini untuk alasan 

tertentu. Kita membahas pengaturan dalam file php.ini di seluruh buku ini saat  kita 

membahas topik y