MySQL adalah salah satu database server yang cukup populer dan tangguh. Sifatnya yang Free (GPL)
membuat MySQL
cepat
berkembang
dan digunakan
banyak
server di internet.
MySQL
Monitor sendiri adalah sebuah tool kecil yang menjadi
paket dalam server MySQL yang digunakan
untuk administrasi database. Tool
tersebut berjalan pada mode command line.
PENDAHULUAN :
Menggunakan
MySQL Monitor standar bawaan dari paket MySQL sangat membantu administrasi dan penggunaan server
MySQL, tetapi
karena tool tersebut berjalan pada mode command line dan
tampilan layar
dari command line sangat terbatas maka pekerjaan akan menjadi sedikit lebih sulit. Banyak pengembang-pengembang software open source yang telah membuat interface berbasis web
yang
dapat digunakan untuk mengadministrasi MySQL, salah satu contohnya
adalah phpMyAdmin.
PhpMyAdmin mempunyai banyak kelebihan yang dapat mempermudah
pekerjaan Anda, hal ini
sangat membantu jika Anda mempunyai server MySQL dalam local komputer.
Tetapi bagaimana jika Anda ikut
dalam layanan web hosting, yang jarang sekali memberikan fasilitas MySQL monitor baik yang berbentuk command line maupun yang berbasis web.
Apabila hendak memasang
phpMyAdmin pada hosting tersebut maka akan mengurangi ruang
harddisk yang Anda butuhkan
untuk halaman homepage. Oleh sebab itu dibutuhkan satu interface
berbasis web yang berukuran kecil yang
dapat membantu kerja Anda.
Dalam tutorial ini akan dibahas mengenai skrip sederhana memakai PHP yang dapat digunakan
untuk memasukan SQL Query ke server MySQL dan menampilkan hasilnya dalam bentuk web. Bentuk tampilan
dari script ini tampak seperti:
Skrip ini masih sangat
sederhana, perlu dikembangkan
lagi jika anda ingin benar-benar
menggunakannya. Ada beberapa
hal yang perlu diperhatikan sebelum
anda menggunakannya yang berhubungan dengan keamanan server MySQL :
- Dengan menggunakan script ini maka pengguna interface akan dengan leluasa berinteraksi dengan server database anda, perhatikan user yang anda masukkan pada $username. Jika user tersebut mempunyai akses full maka server MySQL anda sangat terbuka.
2. Selain itu dengan
perintah SQL: SELECT ... INTO OUTFILE berarti pengguna
dapat
memasukkan file ke server
hosting Anda. Oleh sebab itu sebaiknya skrip ini diberikan
password pengaman sebelum mengaksesnya. Tapi dalam tutorial ini tidak dibahas cara
bagaimana membuat password pengaman tersebut.
PEMASANGAN SKRIP PADA SERVER :
Mula-mula buatlah sebuah
file yang berisi listing dari MySQL Monitor menggunakan Notepad,
melalui Start > Program > Accessories > Notepad. Atau anda dapat menggunakan HTML editor
yang
lain sesuai dengan kebiasaan.
Ada beberapa
variabel yang harus anda rubah
nilainya, yaitu:
$hostname ='localhost'; //Masukkan alamat lokasi server
$username ='root'; //User MySQL yang digunakan
$password ='password'; // Masukkan password
Varibel $hostname diisi dengan alamat server MySQL, dapat menggunakan alamat IP atau nama
dari server, $username adalah user
yang digunakan untuk masuk ke
MySQL server,
perhatikan hak akses user tersebut, semakin tinggi maka semakin besar kekuasaan dari
MySQL Monitor. User ‘root’ adalah user dengan hak akses tertinggi dalam
MySQL.Varibel $password diisi dengan password dari user
MySQL. Setelah itu, simpan file tersebut dengan nama mysql.php. Besar file tidak akan lebih
dari 3Kb.
File tersebut siap di upload ke server web, ingat anda harus mengupload file mysql.php pada web server yang support PHP, contohnya Apache (http://www.apache.org). Untuk ujicoba dapat digunakan paket web server yang berjalan under Windows, seperti Appsrv (http://appserv.sourceforge.net/) atau PHP Triad (http://http://sourceforge.net/projects/phptriad). Keduanya sudah didukung dengan server MySQL. Setelah diupload, cobalah buka menggunakan web browser.
LISTING LENGKAP MYSQL MONITOR
(mysql.php) :
<html><head><title>MySQL Monitor oleh Bondan Muliawan </title></head>
<body>
<?php
$hostname ='localhost'; //Masukkan alamat lokasi server
$username ='root'; //User MySQL yang digunakan
$password ='password';
//
Masukkan password
//Membuat koneksi dengan server
MySQL
mysql_connect($hostname,$username,$password);
?>
<form action="<?=$PHP_SELF?>" method="POST">
<p>Perintah (SQL Query) untuk
database :
<!-- MEMBUAT FORM UNTUK MEMASUKKAN
PERINTAH SQL -->
<select name="database">
<?php
// Melihat list dari database dan membuat
DROP DOWN LIST
$databases = mysql_list_dbs();
for ($i=0;$i<mysql_num_rows($databases);$i++)
{
$namadatabase = mysql_db_name($databases,$i);
if ($namadatabase == $database)
echo("<option
selected> $namadatabase</option>");
else
echo("<option>$namadatabase</option>");
}
?>
</select><br />
<textarea cols="60"
rows="5" name="perintah">
<?php
$perintah_tampil=stripslashes(htmlspecialchars("$perintah", ENT_QUOTES));
echo "$perintah_tampil";
?>
</textarea></p>
<p><input name="masukkan"
type="submit" accesskey="P"
value="Masukkan Perintah
<Alt- P>" /></p>
</form>
<!--
MEMBUAT HASIL TAMPILANNYA -->
<?php echo('<hr />');
if ($masukkan)
{
if (get_magic_quotes_gpc()) $perintah = stripslashes($perintah);
echo('<p><b>Perintah :</b> '.nl2br($perintah).'</p>');
$result = mysql_db_query($database,$perintah);
if
($result)
{
{
?>
<p><b>Hasil :</b></p>
<table
border="1"><thead> <tr>
<?php
for ($i=0;$i<mysql_num_fields($result);$i++)
echo('<th>'.mysql_field_name($result,$i).'</th>');
?>
</tr> </thead><tbody>
<?php
while ($row
= mysql_fetch_row($result))
{
echo('<tr>');
for ($i=0;$i<mysql_num_fields($result);$i++)
{
echo('<td>'.$row[$i].'</tr>');
}
echo('</tr>');
}
?>
} else
{
Jumlah baris
yang terpengaruh oleh
hasil dari
query
dapat diperoleh
dengan
perintah ‘mysql_affected_rows()’,
sedangkan untuk
menampilkan pesan kesalahan jika query tidak benar
dapat
</tbody> </table>
<?php
echo('<p><b>Query Berhasil:</b>
'.mysql_affected_rows().' baris terpengaruh.</p>');
echo('<p><b>Query Berhasil:</b>
'.mysql_affected_rows().' baris terpengaruh.</p>');
} else
{
}
}
?>
}
echo('<p><b>Perintah
salah:</b> '.mysql_error().'</p>');
<!--
AKHIR DARI HASIL -->
</body>
</html>
PENJELASAN LISTING :
Pada awal program anda
harus men-deklarasikan
variabel yang
mencatat informasi mengenai server.
$hostname ='localhost';
$username ='root';
$password ='password';
Lalu membuat hubungan ke server menggunakan perintah:
mysql_connect($hostname,$username,$password);
Dengan adanya koneksi ke
server
MySQL
anda dapat
melihat nama-nama dari
database
yang tersimpan dalam server dengan perintah:
$databases
= mysql_list_dbs();
Menyiapkan textarea untuk memasukkan query:
<textarea cols="60" rows="5" name="perintah">
<?php
$perintah_tampil=stripslashes(htmlspecialchars("$perintah", ENT_QUOTES));
echo "$perintah_tampil";
?>
</textarea>
Perintah PHP ‘stripslashes’
diguna-kan untuk menghilangkan backslash (\) pada
perintah yang di Post.
Sedangkah ‘htmlspecialchars’ ber-fungsi untuk merubah beberapa karakter ke HTML entiti, seperti '&' (ampersand)
menjadi '&'.
Kemudian membuat tombol untuk mengirim query:
<input name="masukkan" type="submit"
accesskey="P" value="Masukkan Perintah <Alt-P>"
/>
Untuk menampilkan hasil dari eksekusi query digunakan bantuan tag tabel. Sebelum dibentuk tabel query harus dieksekusi
terlebih dahulu dengan perintah:
$result=mysql_db_query($database,$perintah);
Jika query
benar maka $result akan berisi data yang diminta. Untuk menampilkan jumlah kolom
yang diminta menggunakan
perintah:
for($i=0;$i<mysql_num_fields($result);$i++)
{...................}
Sedangkan jumlah baris, mengguna-kan perintah :
while($row=mysql_fetch_row($result))
{...................}
menggunakan perintah ‘mysql_error()’.
0 Komentar