Membuwat Mysql Monitor Dengan PHP
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 interfaceberbasis 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 beberapahal 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 denganperintah SQL: SELECT ... INTO OUTFILE berarti penggunadapat
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 yanglain 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 useryang 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 userMySQL. 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 serverMySQL
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 untukmenampilkan 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 querybenar 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()�.
Comments
Post a Comment
-Berkomentarlah yang baik dan rapi.
-Menggunakan link aktif akan dihapus.