Pada php, mysql_query() memiliki fungsi

Fungsi ini digunakan untuk mengkoneksikan script php dengan database mysql. struktur penulisannya adalah sebagai berikut :

mysql_connect(“host database”,”username database”,”password database”);

sebagai contoh, perhatikan script berikut :

 

//check koneksi

if($connect){

echo “Koneksi database Berhasil”;

}

else{

echo “Koneksi database GAGAL”;

}

?>

simpan script diatas dengan nama koneksi.php pada direkotory web server anda. jalankan dengan mengetikkan perintah :

http://localhost/koneksi.php

Jika koneksi database berhasil, maka akan di cetak pesan : Koneksi database Berhasil

  1. mysql_select_db

Fungsi ini digunakan untuk memilih nama database yang akan diakses dengan script php. Struktur penulisannya adalah sebagai berikut :

mysql_select_db(“nama database”,”link koneksi”);

sebagai contoh, perhatikan script berikut :

 

simpan script diatas dengan nama koneksi2.php pada direkotory web server anda. jalankan dengan mengetikkan perintah :

http://localhost/koneksi2.php

Jika koneksi database berhasil dan database yang anda tuliskan ditemukan, maka akan dicetak pesan : Berhasil menemukan database ( nama database );

  1. mysql_query

Fungsi ini digunakan untuk menjalankan query atau perintah sql seperti select, delete, update dan lain – lain. Struktur penulisannya adalah sebagai berikut :

mysql_query(“perintah sql anda”);

Contoh script dari perintah ini akan di tunjukkan setelah penjelasan tentang mysql_fetch_array atau mysql_fetch_row

  1. mysql_fetch_array atau mysql_fetch_row

Fungsi ini digunakan untuk mengeluarkan data – data dari tabel dalam database yang dihasilkan dari perintah mysql_query. Struktur penulisannya adalah sebagai berikut :

mysql_fetch_array(mysql_query(“perintah sql anda”));

atau

$query = mysql_query(“perintah sql anda”);

$data  = mysql_fetch_array($query)

sebagai contoh, perhatikan script berikut :

 

simpan script diatas dengan nama data.php pada direkotory web server anda. jalankan dengan mengetikkan perintah :

http://localhost/data.php

Jika tidak ditemukan kesalahan, maka akan dicetak isi dari table table_siswa, yaitu data pada kolom pertaman, kedua , ketiga dan keempat

  1. mysql_num_rows

fungsi ini digunakan untuk menghitung jumlah record yang dihasilkan dari sebuah perintah sql. Struktur penulisannya adalah sebagai berikut :

mysql_num_rows(mysql_query(“perintah sql anda”));

atau

$query = mysql_query(“perintah sql anda”);

$record = mysql_num_rows($query);

Untuk lebih jelasnya, perhatikan script berikut :

 

  1. dll

Tutorial diatas kami sajikan sebagai pengantar untuk mengetahui fungsi – fungsi php dalam kaitannya dengan database MySQL. Tutorial yang lebih spesifik selanjutnya akan kami bahas dalam tutorial berikutnya.

Pada bahasan sebelumnya, kita telah mempelajari bagaimana melakukan koneksi PHP ke database MySQL, dan sekarang adalah waktunya untuk mempelajari perintah-perintah dasar pada database MySQL. Oke langsung saja kita ke pembahasan... Untuk melakukan perintah query SQL di php dibutuhkan fungsi mysql_query($sql) untuk menerjemahkan proses query ke MySQL dari PHP. Adapun fungsi lain yang banyak digunakan di PHP adalah mysql_num_rows($query) yang berfungsi untuk menghitung jumlah baris hasil query dan mysql_fetch_array($query) atau mysql_fetch_object($query). mysql_fetch_array dan mysql_fetch_object memiliki fungsi yang sama, yakni mengambil hasil query SQL agar dapat diolah dan dibaca oleh PHP. Adapun perbedaannya adalah jenis hasil outputnya, kalau mysql_fetch_array outputnya berupa array dengan nama field sebagai key array nnya. Adapun mysql_fetch_object outputnya berupa object, namun yang saya pakai disini adalah yang array.

SELECT

SELECT adalah perintah untuk memanggil data yang ada didalam sebuah tabel. Adapun syntaxnya adalah sebagai berikut

SELECT *|field1,field2,field3,... from nama_tabel [kondisi]

NB: simbol artesik/bintang (*) sama artinya memanggil semua field tanpa terkecuali. Untuk pemanggilan field-field tertentu saja dapat langsung disebutkan nama fieldnya

Dari syntax di atas, kita asumsikan bahwa kita mempunyai sebuah tabel siswa dengan kolom-kolom: NIS,Nama,Gender,Kelas dengan data kira-kira seperti berikut

NoNISNamaGenderKelas1030411021Aat SurahatPX-12030411092Beno SudrajatLX-23030411047Cepi RohmatLX-14030411017Novi AndaresiPX-35030411025Niar WahyuniPX-3

Kalo kita ingin mengambil semua data yang ada di tabel siswa tanpa terkecuali, gunakan perintah seperti berikut!

<?php
mysql_connect("localhost", "root", "") or die("Gagal koneksi...");
mysql_select_db("test") or die("Tidak bisa membuka database");

echo "<table border=1>
<tr>
<th>NIS</th>
<th>>Nama</th>
<th>Gender</th>
<th>Kelas</th>
</tr>";
$sql = mysql_query("SELECT * from siswa");
while($data = mysql_fetch_array($sql)){
echo "<tr>
<th>$data[NIS]</th>
<th>>$data[Nama]</th>
<th>$data[Gender]</th>
<th>$data[Kelas]</th>
</tr>";
}
echo "</table>";
?>

Dengan perintah di atas, maka semua data akan dipanggil (dipanggil semua baris), adapun field yang ditampilkan adalah tergantung keperluan (pada contoh di atas field dipanggil semua)

Yang berikutnya adalah cara mengambil beberapa data saja. Perhatikan contoh berikut!

<?php
mysql_connect("localhost", "root", "") or die("Gagal koneksi...");
mysql_select_db("test") or die("Tidak bisa membuka database");

echo "<table border=1>
<tr>
<th>NIS</th>
<th>>Nama</th>
<th>Gender</th>
<th>Kelas</th>
</tr>";
$sql = mysql_query("SELECT * from siswa where Kelas='X-3'");
while($data = mysql_fetch_array($sql)){
echo "<tr>
<th>$data[NIS]</th>
<th>>$data[Nama]</th>
<th>$data[Gender]</th>
<th>$data[Kelas]</th>
</tr>";
}
echo "</table>";
?>

Jika dilihat di browser, maka outputnya di browser adalah seperti dibawah ini

NISNamaGenderKelas030411017Novi AndaresiPX-3030411025Niar WahyuniPX-3

Jika kita melihat script di atas, ada yang saya garisbawahi, yakni where kelas='X-3'. Apakah fungsinya? Di dalam query SQL, khususnya di MySQL where adalah suatu cara mempersempit data yang ditampilkan dengan memberikan kondisi seperti halnya if di PHP. Adapun syntaxnya secara umum adalah sebagai berikut!

SELECT ... where field<kondisi><nilai yang dibandingkan>

Keterangan:
field: nama field yang akan dicari kondisi nilainya
kondisi: kondisi perbandingan yang bisa diisi dengan sama dengan (=), kurang dari (<), lebih dari (>), kurang dari atau sama dengan (<=), lebih dari atau sama dengan (>=) dan tidak sama dengan (!=)
nilai yang dibandingkan: yakni nilai dari perbandingan yang disesuaikan dengan kondisi

Perlu diperhatikan, bahwasanya jika field yang ditampilkan dikondisikan perbandingan angka maka nilai yang dibandingkan ini boleh tidak pakai petik, namun jika yang dibandingkan adalah sebuah string atau data tanggal, maka diharuskan menyertakan petik pada nilainya. Perhatikan contoh berikut ini!

<?php
mysql_query("SELECT * from siswa where kelas='X-3'"); // nilai field kelas adalah string
mysql_query("SELECT * from laporan_penjualan where qty_barang>5") // nilai field qty_barang adalah numerik
?>

INSERT

INSERT adalah perinta untuk melakukan input data kedalam tabel. Syntax dasar insert dapat dilihat seperti di bawah ini:

INSERT into namaTabel(field1,field2,field3,...) VALUES('nilai 1','nilai 2','nilai 3',...)

Sekedar mengingatkan saja, karena saya pribadi pernah mengalami suatu hal yang mulanya bikin saya bingung, dan kali ini akan saya coba share kepada sahabat AJN semuanya yakni seputar data yang di-insert kedalam tabel. Jadi, ketika kita melakukan insert data ke MySQL inputannya harus diperhatikkan dan perlu diparsing (difilter) untuk menjaga keamanan data. Istilah yang dikenal dari proses SQL query secara paksa (hack) adalah mysql inject. Sebagai contoh, kita tidak bisa meng-insert data yang mengandung petik satu kedalam tabel tanpa difilter. Untuk memfilter data yang diinput (kalo inputan ketikan bebas oleh user via input text atau textarea) adalah menggunakan fungsi

<?php
mysql_connect("localhost", "root", "") or die("Gagal koneksi...");
mysql_select_db("test") or die("Tidak bisa membuka database");

echo "<table border=1>
<tr>
<th>NIS</th>
<th>>Nama</th>
<th>Gender</th>
<th>Kelas</th>
</tr>";
$sql = mysql_query("SELECT * from siswa where Kelas='X-3'");
while($data = mysql_fetch_array($sql)){
echo "<tr>
<th>$data[NIS]</th>
<th>>$data[Nama]</th>
<th>$data[Gender]</th>
<th>$data[Kelas]</th>
</tr>";
}
echo "</table>";
?>
0. Dengan demikian data yang diinput menjadi aman dan terhindar dar injeksi.

Yuk kita lihat contoh berikut

<?php
$nis = $_POST['nis'];
$nama = mysql_real_escape_string($_POST['nama']);
$gender = $_POST['gender'];
$kelas = $_POST['kelas'];
mysql_query("INSERT into siswa(NIS,Nama,Gender,Kelas) VALUES('$nis','$nama','$gender','$kelas')");
?>

UPDATE

Berbeda halnya dengan SELECT, query update ini bekerja dibalik layar dan tidak menampilkan hasil apapun karena update bukanlah perintah tetapi merupakan proses. Untuk syntax update ini dapat dilihat di bawah ini

UPDATE namaTabel set field1='nilai baru field1', field2='nilai baru field2', field3='nilai baru field3',... [kondisi where]

Keterangan: field1,field2, field3, dst: nama field yang ingiin diupdate nilainya (disesuaikan dengan nama field pada tabel) kondisi where: sifatnya optional, namun bila tanpa kondisi semua data akan diupdate, jadi harap berhati-hati!

NB: harap diperhatikan.... dalam penggunaan query UPDATE ini saya sangat menganjurkan untuk memberikan kondisi. Kenapa demikian? Karena bilai kita tidak mempersempit kondisi maka semua data akan ikut keupdate atau keubah. Bayangkan, bila kita mempunyai data sebanyak 2000 data, lalu kita ingin mengubah data ke 780, namun kita kelupaan memberikan kondisi where, maka yang terjadi adalah semua data (yang 2000 baris) itu akan semuanya keupdate. Sayang kan udah cape-cape input eh keubah gitu aja, hilang deh

Pada php, mysql_query() memiliki fungsi
. Contoh detailnya adalah ketika tabel siswa sudah lengkap semua mulai kelas X sampai kelas XII. Lalu data ke 100 ternyata salah, ditabel kelasnya adalah XI-IPA-1, padahal harusnya XI-BAHASA, maka yang kita lakukan adalah membuat script seperti di bawah ini!

<?php
mysql_query("UPDATE siswa set kelas='XI-BAHASA' where NIS='13141159");
mysql_query("UPDATE siswa set kelas='XI-BAHASA'");
?>

Query pertama adalah query yang benar, dimana data yang NIS-nya 13141159 akan diubah data kelasnya menjadi XI-BAHASA. Adapun query kedua adalah query yang fatal salahnya, kenapa? bila query tersebut dijalankan maka seluruh data di tabel siswa kelasnya akan menjadi 'XI-BAHASA' meskipun datanya 2000 data siswa. Jadi, kembali saya ingatkan, harap berhati-hati dengan query UPDATE. Kasus ini masih saja terjadi, mungkin akibat kurang jeli dalam mengecek, atau terlalu terburu-buru atau penyebab lainnya. Yang pasti UPDATE tanpa where adalah merubah semua data yang ada di tabel tersebut. Kecuali kalau kita memang menginginkan update untuk seluruh data pada tabel.

DELETE

Untuk query DELETE ini kasusnya sama dengan UPDATE, namun yang membedakan adalah fungsinya. DELETE pada query MySQL berfungsi untuk menghapus data (satu baris atau lebih) jika where yang diberikan adalah spesifik, dan tentu akan menghapus semua data di tabel jika tidak ditambahkan where. Syntax DELETE ini adalah seperti berikut

DELETE from namaTabel [kondisi where]

Yuk kita lihat dari contoh berikut!

<?php
mysql_query("DELETE from siswa where NIS='13141159");
mysql_query("DELETE from siswa where kelas='XI-BAHASA'");
mysql_query("DELETE from siswa");
?>

Query pertama akan menghapus data yang NIS-nya 13141159 saja (1 baris), adapun untuk query kedua adalah menghapus semua data yang kelasnya adalah XI-BAHASA (beberapa baris data siswa). Sedangkan query ketiga akan menghapus semua data siswa (tabel jadi kosong)

Apa fungsi mysql_query?

MySQL Query adalah perintah atau instruksi yang dapat digunakan untuk mengelola database atau tabel dalam database MySQL. Query lebih dikenal dengan sebutan SQL (Structured Query Language) yang artinya adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional.

Jelaskan apa fungsi dari mysql_connect ()?

Fungsi mysql_connect() mengembalikan kondisi status koneksi ke dalam variabel $link. Variabel $link akan berisi link koneksi (bertipe resources) jika berhasil terkoneksi dengan MySQL, dan akan bernilai TRUE jika dikonversi menjadi Boolean.

Fungsi MySQL manakah yang digunakan untuk mengeksekusi query yang dijadikan parameter?

Untuk menjalankan query MySQL, PHP menyediakan fungsi mysql_query(). Fungsi ini dijalankan setelah koneksi berhasil dilakukan dengan fungsi mysql_connect().

Apa kegunaan dari mysql_fetch_array ()?

Fungsi mysql_fetch_array() merupakan salah satu fungsi yang banyak digunakan dalam proses pengambilan data MySQL. Fungsi ini akan menangkap data dari hasil perintah query dan membentuknya ke dalam array asosiatif dan array numerik.