Membuwat Mysql Monitor Dengan PHP

19:11

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 :

  1. 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  &lt;Alt- P&gt;" /></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
                                   {

</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 '&amp;'.

Kemudian membuat tombol untuk mengirim query:
<input name="masukkan" type="submit" accesskey="P" value="Masukkan Perintah &lt;Alt-P&gt;"
/>

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))
{...................}

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 
menggunakan perintah mysql_error()’.






Previous
Next Post »
0 Komentar