Jika koneksi antara PHP dan MySQL telah dibuat, langkah selanjutnya adalah menjalankan query MySQL. Dalam tutorial kali ini kita akan mempelajari Cara Menjalankan query MySQL dari PHP dengan fungsi mysql_query.
Mengenal Fungsi Query PHP-MySQL: mysql_query
Untuk menjalankan query MySQL, PHP menyediakan fungsi mysql_query(). Fungsi ini dijalankan setelah koneksi berhasil dilakukan dengan fungsi mysql_connect().
Fungsi mysql_query() merupakan fungsi yang akan sering kita gunakan, karena dengan fungsi inilah PHP akan melakukan 'percakapan' dengan MySQL. Hampir seluruh perintah query MySQL yang kita bahas pada tutorial belajar MySQL Dasar, dapat dijalankan dengan fungsi mysql_query().
Fungsi mysql_query() membutuhkan 2 argumen, dimana argumen pertama diisi dengan query MySQL, dan argumen kedua diisi dengan link koneksi hasil fungsi mysql_connect(). Argumen kedua ini bersifat opsional.
Berikut adalah format dasar penulisan fungsi mysql_query() dalam PHP:
$result = mysql_query("query_mysql",[$link_koneksi_mysql]);
- $result adalah variabel yang akan menampung hasil dari fungsi mysql_query(). Jika fungsi mysql_query() berhasil dijalankan, variabel $result akan berisi hasil query, namun jika query gagal, variabel ini akan berisi nilai boolean FALSE. Variabel $result bertipe resources (sama dengan hasil dari fungsi mysql_conncect()). Nama dari variabel ini tidak harus ditulis sebagai $result, anda bebas jika ingin menggantinya dengan nama lain.
- 'query_mysql' adalah argumen pertama fungsi mysql_query(). Pada bagian inilah kita menulis query MySQL. Query tersebut selanjutnya akan dikirim kepada MySQL Server untuk diproses. Argumen ini harus pertipe string dan mengikuti aturan penulisan string didalam PHP. Contoh query ini, misalnya "SELECT * FROM mahasiswa", atau "CREATE DATABASE universitas".
- $link_koneksi_mysql adalah argumen kedua dari fungsi mysql_query(). Argumen ini diisi dengan variabel hasil pemanggilan fungsi mysql_connect(). Argumen ini bersifat opsional, dan jika diabaikan PHP akan menggunakan variabel mysql_connect() yang sedang terkoneksi saat ini.
Cara Menjalankan query MySQL dari PHP
Untuk memahami cara penggunaan fungsi mysql_query(), langsung saja kita masuk kedalam contoh program. Dalam contoh program berikut, saya akan membuat query untuk menampilkan seluruh database yang ada di dalam MYSQL.
Berikut adalah contoh program penulisan fungsi mysql_query dalam PHP:
<?php //buat koneksi dengan MySQL $link=mysql_connect('localhost','root',''); //jika koneksi gagal, langsung keluar dari PHP if (!$link) { die("Koneksi dengan MySQL gagal"); } //jalankan query $result=mysql_query('SHOW DATABASES',$link); //tampilkan hasil query while ($row = mysql_fetch_row($result)) { echo $row[0]; echo "<br />"; } ?>
Jika anda menjalankan perintah diatas, didalam web browser akan tampil semua nama database yang ada dalam MySQL.
Pada baris ke-3 dari program diatas, saya membuat koneksi dengan MySQL menggunakan fungsi mysql_connect(). Fungsi ini menggunakan user 'root' dan tanpa password. Hasil koneksi fungsi saya simpan ke dalam variabel $link.
Selanjutnya pada baris ke-6 saya memeriksa nilai dari koneksi mysql_connect() dengan cara membuat logika IF untuk variabel $link. Jika MySQL gagal diakses, maka fungsi die() akan memerintahkan PHP untuk menghentikan program.
Namun jika koneksi berhasil, pada baris ke-12 saya membuat fungsi mysql_query() untuk menjalankan query 'SHOW DATABASES'. Query ini adalah perintah untuk menampilkan seluruh nama database yang ada pada MySQL.
Kode program pada baris ke-15 digunakan untuk menampilkan hasil query. Fungsi mysql_fetch_row() belum saya bahas, dan akan kita pelajari pada tutorial berikutnya.
Apabila query yang digunakan lebih panjang dan kompleks, anda bisa menyimpannya di dalam sebuah variabel terlebih dahulu, baru kemudian dijalankan dengan mysql_query(), seperti contoh berikut ini:
$query="SELECT * FROM mahasiswa WHERE IPK>5"; $result=mysql_query($query,$link);
Dengan memindahkan query kedalam variabel, akan membuat program kita menjadi lebih rapi.
Argumen kedua dari fungsi mysql_query() juga boleh tidak ditulis, dan PHP akan menggunakan link koneksi MySQL terakhir yang tersedia, seperti contoh berikut:
$query="SELECT * FROM mahasiswa WHERE IPK>5"; $result=mysql_query($query);
Fungsi mysql_connect() dan mysql_query() adalah fungsi paling dasar dalam koneksi PHP dengan MySQL. Untuk menampilkan hasil dari query tersebut, PHP menyediakan berbagai cara yang bisa digunakan untuk berbagai situasi. Cara pengaksesan ini akan kita pelajari pada artikel-artikel selanjutnya.
Dalam tutorial berikutnya, kita akan mempelajari cara Cara Menampilkan Hasil Query MySQL dari PHP dengan fungsi mysql_fetch_row().
mau nanya dong.
maksud dari tanda seru (!), pada baris ke-6 apa ya —> if(!$link)
Itu operator 'negasi' gan (negate), tanda seru digunakan untuk membalikkan logika.
Misalnya $link=TRUE, maka !$link akan menjadi FALSE.
Penjelasan yang sangat gamblang dan mudah dimengerti. sangat bermanfaat buat saya.
Mas andre… Kalu boleh saran ja mas, Semua materi ini ditulis ja dalam sebuah buku lengkap dengan studi kasus pembuatan sebuah web atau aplikasi dari awal sampai finish.. terimakasih
Terimakasih untuk sarannya mas..
Iya, saya berencana menyatukannya ke dalam sebuah eBook PHP, plus dengan pembuatan Sistem Informasi sederhana. Mudah2an akhir tahun ini bisa selesai :)
Mas Andre jika sudah ada ebook PHP dan study kasus + dengan pembuatan sistem informasi atau web dinamis cara pembuatannya dari awal sampai finish saya minat mas :)
eBooknya sedang dalam tahap penulisan mas, hehe.. Ditunggu y.. :)
sy baru belajar bahasa pemograman php,.yg sy mau tanyakan apakah fungsi return sama dgn result…bedanya,dan pada saat kondisi apa baru bisa digunakan..kalau bisa dgn contohnya,..?
terima kasih.:D
Result ini maksudnya variabel $result yang saya gunakan dalam contoh tutorial ini y mas? atau ada yang lain?
$result disini hanya sebuah variabel mas, bisa saja saya ganti dengan $hasil, $hehe, atau $aku. Sedangkan return digunakan di dalam function. Kalau agak bingung, coba ikuti tutorial PHP dasar di duniailkom dari part 1 mas, mudah2an bisa menjawab pertanyaannya.
Gan saya pakai fungsi ini buat menampilkan isi database yg select*from nama tbl tpi kok berulang kali pakai script dri brbagai sumber tpi ttp gk bsa ,stelah saya cek trnyata databasenya sdah upgrade ke maria db apakah script mysql bsa dipakai maria db?
Dari sisi kode program, g ada perbedaan antara MySQL dengan MariaDB gan. Fungsi yang dipakai tetap mysql_connect(), mysql_query(), dst.
Juga sebagai tambahan, fungsi mysql_connect() dan mysql_query() disarankan untuk tidak digunakan lagi. Sebaiknya pindah ke mysqli seperti mysqli_connect() atau mysqli_query(). Di PHP 7 fungsi mysql_connect() juga sudah g bisa dipakai lagi.
Aturan penulisan kutip satu da
n kutip dua di php gimana gan, saya masih suka rancu
Lanjut kesini gan: https://www.duniailkom.com/mengenal-tipe-data-string-dan-cara-penulisan-string-dalam-php/
Mas,
nyari2 tutorial tentang UNION (ALL) g ada ya??
pengambilan / menampilkan data dari beberapa tabel dalam satu page menggunakan UNION ALL, tapi kalau mau ngedit dari page tersebut gmn ya caranya Mas,,??
Atau pake javascript bisa g buka salah-satu link (dari banyak link) sesuai kondisi yang di set..??
Thanks..
Iya mas, materi MySQL lanjutan seperti UNION belum ada buat saat ini…
Ok Mas,
ditunggu artikel artikel yang bermanfaat lainnya.
mas, mau tnya, di variabel result ada 'SHOW DATABASES'..itu th klo mau kita konek'n ke DBny yg 'SHOW DATABASES' di gnti pke nma DB ny apa nma Tbl di DB ny?
terimakasih mas..ditunggu response ny :v
//jalankan query
$result=mysql_query('SHOW DATABASES',$link);
Nanti bisa menggunakan perintah ini gan:
$result=mysql_query('USE nama_database');
Silahkan lanjut ke part berikutnya gan (sudah ada contoh lengkapnya disana).
asssalmualaikum mas, mau nanya nih, misal saya buat inputan nama tabel dari php , kemudian nama tabel saya variabelkan menjadi $namatabel=$_POST['tabel'];.
lalu buat perintah create tabele menggunakan variabel tsb sehingga, nama tabel yang dibuat sama dengan yang diinput, yang saya mau tanyakakn adalah: bagaimana menseleksi tabel tersebut. seperti menggunakan perintah select dengan mysql_query. biasanya kan kalo mau select tabel perintahnya kan begini
$sql=mysql_query("SELECT * FROM tabel ORDER BY id ASC");
apa koding untuk nampilin tabel dari variabel $tabel td??? mohon bantuannyaa…… makasih banyak sebelum dan sesudahnya :)
Waalaikumsalam…
Maksudnya pengen menampilkan tabel dari variabel $namatabel y?
Kita tinggal menambahkannya ke dalam fungsi mysql_query(), seperti contoh ini:
$query = "SELECT * FROM $namatabel ORDER BY id ASC";
$result = mysql_query($query);
Selanjutnya tinggal di proses dari PHP.
Kalau pengen kode program lengkapnya, cukup panjang nih, soalnya mesti paham berbagai fungsi MySQL-PHP. Jika berminat, ini saya bahas dengan detail di eBook PHP Uncover.
asssalmualaikum mas, mau nanya nih, misal saya buat inputan nama tabel dari php , kemudian nama tabel saya variabelkan menjadi $namatabel=$_POST['tabel'];.
lalu buat perintah create tabele menggunakan variabel tsb sehingga, nama tabel yang dibuat sama dengan yang diinput, yang saya mau tanyakakn adalah: bagaimana menseleksi tabel tersebut. seperti menggunakan perintah select dengan mysql_query. biasanya kan kalo mau select tabel perintahnya kan begini
$sql=mysql_query("SELECT * FROM tabel ORDER BY id ASC");
apa koding untuk nampilin tabel dari variabel $tabel td??? mohon bantuannyaa…… makasih banyak sebelum dan sesudahnya :)
wah artikel yang sangat dimengerti.. mas bagaimana kalo saya beli ebook, dan saya jadikan buku untuk di perjual belikan…
Waduh, g bisa seperti lah gan… itu sama artinya mencuri royalti orang. Apa bedanya agan beli 1 CD musik, lagi digandakan dan dijual kembali.
Jika agan mau seperti itu, harus beli royaltinya langsung, plus hak untuk menjual kembali. Untuk yang seperti ini harganya bisa puluhan sampai ratusan juta, tergantung kesepakatan dengan penulis (saya tidak ada rencana terkait hal ini).
Atau agan bisa menjadi reseller. Buku tetap punya si penulis, lalu agan sebagai marketingnya…
master sy mau beli ebook nya..yg php
Siap, sudah dibalas via email ya gan, terimakasih :)
mas andre mohon pencerahan dong, niat saya mw update data dengan mysqli extention saya coba php seperti :
<?php
//buat koneksi dengan MySQL
$link=mysqli_connect('localhost','root',"",'universitas');
//jika koneksi gagal, langsung keluar dari PHP
if (!$link)
{
die("Koneksi dengan MySQL gagal");
}
//gunakan database universitas
$result=mysqli_query($link,'USE universitas');
if (!$result)
{
die("Database mahasiswa gagal digunakan");
}
$query="INSERT INTO mahasiswa_ilkom VALUES ('18122879', 'Hayatul Insan Santana',
23, 'Bekasi', 2.5)";
$result = mysqli_query($link,"INSER INTO mahasiswa_ilkom");
echo "Database universitas dan Tabel mahasiswa_ilkom berhasil dibuat";
?>
datanya sih berhasil tampil di web browser , tapi kok pas saya cek di database mysql ny gak ada penambahan data yah, adakah penulisan kode yg salah dalam mysqli nya?
gan, saya pake Xampp 3.2.2, dan saya uda copas sintaks agan diatas untuk saya coba ke case saya. perintah mysql_query sudah saya ubah menjadi mysqli_query tapi kenapa selalu error ya? apa fungsi tersebut udah deprecated ya di xampp versi saya ini?
But thanks sudah bikin tutorial ini bang, bagi saya duniailkom sudah seperti w3schools nya indonesia hehe
Untuk pindah dari mysql_query ke mysqli_query tidak hanya sekedar ganti nama fungsinya, tapi juga ada tambahan argumen untuk setiap fungsi mysqli_query, termasuk fungsi2 lain seperti mysqli_connect.
Versi 3.2.2 itu adalah versi XAMPP Control Panel, bukan versi XAMPPnya. Besar kemungkinan agan pakai XAMPP 7, sebaiknya pakai XAMPP 5.6 jika tetap ingin menggunakan mysql_query.
baru kali ini saya mudeng baca di website hehehe
bang mau nanya kan perintah ini $query=@mysqli_query($perintah,$koneksi); menggunakan php 5, terus klo mau di ubah ke php 8 perintahnya berubah jadi apa
Kalau di PHP 8 (versi mysqli), letak $koneksi dipindah sebagai argument pertama:
$result = mysqli_query($koneksi, "SELECT * FROM mahasiswa_ilkom");
Lebih lengkap bisa baca2 ke sini: https://www.duniailkom.com/tutorial-php-mysql-cara-menampilkan-data-dengan-mysqli-procedural-style/