Pengenalan mysqli
Tutorial kali ini membahas bagaimana cara membuat CRUD data dengan PHP ekstensi mysqli. Mysqli adalah ekstensi PHP yang digunakan untuk melakukan koneksi ke database MySQL. Huruf i di akhir artinya improved (yang disempurnakan). Ada beberapa alasan mengapa kita harus migrasi dari ekstensi mysql_ ke ekstensi mysqli_ ini. Catatan penting disini, dari sisi struktur project, struktur tabel dan interface tidak ada perubahan. Perubahan dari mysql ke mysqli ada dibelakang layar, terutama dari sisi performa menunjukan msyqli lebih cepat dibanding mysql.
Berikut ini adalah alasan mengapa mulai sekarang sebaiknya anda menggunakan mysqli dalam pemrograman PHP MySQL :
Point | MySQL | MySQLi |
Pengembangan | Sudah tidak lagi di kembangkan | Masih terus dikembangkan |
Support Resmi | Deprecated | Long term support |
Mendukung OOP | Tidak | Ya |
Mendukung Prepare statement | Tidak | Ya |
Mendukung Store procedur | Tidak | Ya |
Mendukung Transaksi (commit, rollback) | Tidak | Ya |
Dari tabel perbandingan diatas saja sudah sangat jelas bahwa lebih banyak kelebihan mysqli ketimbang ekstensi mysql. Selain itu, mysqli juga bisa digunakan secara prosedural ataupun menggunakan OOP, berikut ini gambaran fungsinya agar anda punya gambaran real tentang perbedaan kodenya.
Baca juga : Konsep Dasar Pemrograman Berorientasi Objek (OOP)
Perbandingan mysql dan mysqli
Hal | MySQL | MySQLi Prosedural | MySQLi OOP |
Koneksi database | mysql_connect() | mysqli_connect() | $db = new mysqli(db_host, db_user, db_pass, db_name); |
Query select | mysql_query() | mysqli_query() | $db->query($sql) |
Jadi, dengan mysqli anda masih bisa menggunakan gaya prosedural ataupun OOP, tergantung kebiasaan anda. Jika kita lihat sekilas, gaya prosedural mysqli sama saja dengan mysql cuma fungsinya ditambah i, sebagai contoh mysql_query menjadi msyqli_query().
Dan kita akan belajar tentang mysqli secara berharap, pada tutorial mysqli pertama ini kita akan membuat CRUD dengan PHP ekstensi mysqli tetapi yang prosedural style, untuk yang OOP (Object Oriented Programming) style silahkan dilihat pada tutorial-tutorial selanjutnya.
Agar lebih jelas perbedaan mysql dan mysqli extension pada PHP, baca dulu artikel :
Perbedaan mysql dan mysqli Extension PHP
Ok teman-teman, tampilan halaman input data yang akan kita buat seperti ini :
Dan untuk tampilan halaman tampil datanya lihat dibawah ini :
Gimana webnya simple dan elegan bukan ? Untuk tampilan diatas saya menggunakan framework css buatannya google.
Tutorial membuat tampilan seperti diatas sudah saya bahas disini :
Membuat Desain Web Responsive Dengan Materializecss
Oh iya, sebelum menonton video tutorialnya sebaiknya Anda setting dulu kualitasnya menjadi HD agar jelas.
"Download Materializecss v0.96.1"
Disini saya menggunakan function, karna nanti kita akan belajar OOP, ya walaupun baru tampil datanya saja. Silahkan video tutorial membuat CRUD dengan PHP Ekstensi mysqli Prosedural Style bisa Anda ikuti disini :
Atau ini
Sekedar pengetahuan saja, sebenarnya untuk ekstensi mysqli yang style prosedural kita juga bisa menggunakan perintah baru seperti : mysqli_prepare, mysqli_stmt_execute, mysqli_stmt_bind_result, mysqli_stmt_fetch, dll. Tetapi pada tutorial diatas saya hanya menggunakan perintah yang populer dan hampir sama seperti ekstensi mysql pendahulunya. Untuk perintah seperti prepare, bind_param, bind_result, execute, dan lain sebagainya akan kita bahas pada tutorial yang selanjutnya.
Baca tutorial selanjutnya : Membuat CRUD dengan PHP Mysqli OOP
Kalo ada yang kesulitan atau kurang jelas silahkan bertanya dikomentar postingan.
Jangan lupa like dan share tutorial dan video kami. Semoga bermanfaat, happy coding :)
Wassalamu'alaikum wr. wb.
56 komentar
gan kok ane pas edit berubah semua ya datanya :S
mas ini knp yah? You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '3'' at line 1
udah dikasih WHERE id belum gan ?
Kurang petik satu mas, diteliti lagi.
Kalo masih error copy kan aja script mu yg error disini nanti saya bantu.
yang ini mas, pas ngetik ini jadi error
ini yg di edit.php
Ini mana mas, copy kan aja script mu
error saya sama seperti yg komen dibawah ni mas..
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '7'' at line 1
yg kurang ('')satu bagian mana ya mas?? :bingung
copykan saja script sql mu di komentar sini biar ane tau letak kesalahannya.
/////rumus funstion///
function show($tabel, $where = null)
{
global $con;
$command = "SELECT * FROM $tabel";
if($where != null){
$command = "WHERE $where";
}
$query=mysqli_query($con, $command, $ordeby) or die ($con->error);
$row =array();
while($rows= mysqli_fetch_array($query, MYSQLI_BOTH)){
$row[] = $rows;
}
return $row;
mysqli_close($con);
}
///pemanggilan isi tabel ///
->Pertanyaan<-
seperti ada yang salah script menampilkan data saya ketika saya tambah aktif=Y
itu bagaimana ya tolong penjelasannya
terima kasih..
///pemangilan isi tabel array
$row=show("kategori","aktif='Y'");
foreach($row as $r){
echo $r['nama_kategori'];
}
Salahnya gimana gan ?
Oh jadi punyamu kamu tambahin field 1 lagi aktif ya ?
Errornya gimana gan, tolong dijelaskan
cocok
(y)
gan ini apanya yng salah, tolong dibantu gan:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=1' at line 1
Itu script sql mu yg error gan, kayak e kurang petik. Lihat script mu gan
yang masih salah
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=1' at line 1
silahkan ganti di _koneksi.php
yang bagian ini
global $db;
$command = "SELECT * FROM $table";
if($where |= null) {
$command .= "WHERE $where";
karna ada yang banyak salah liat antara "!" dan "|"
Makasih sebelumnya gan :)
Ya tinggal diganti gan, di code saya udah bener kok. Mungkin anda melihatnya kurang jelas.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '1'' at line 1
masalahnya disini kayaknya gan, salah dimananya yah :/
fetch("tb_anggota", "id= '$id' ") ;
?>
sudah bisa gannn makasihhh sangat bermanfaat :3
Cek lagi function untuk perintah query mu :)
Alhamdulillah, sama2 :)
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= '1'' at line 1
apa yang salah ya???
SQL mu ada yang salah, kayaknya kurang tanda petik. Coba teliti lagi.
Oh ya, kamu pakai MariaDB ya bukan MySQL ?
gan klo error, PROCEDURAL laundry_satuan.petugas does not exist itu kenapa gan ?
Databasenya laundry_satuan nama tabel petugas. lha pas mau save input petugas keluarnya gitu dan gak masuk ke tabelnya
abis ngetik $data = tampil("tb_anggota","id = '$id'"); muncul
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= '2'' at line 1
itu kenapa ya ?
ko gak ada link downloadnya gan
Iya memang gak ada gan. Adanya baru tutorial-nya saja. Biar belajar dan faham :)
Ada yang salah script kamu.
Untuk konsultasi silakan inbox disni http://fb.com/yukcoding :)
Script-mu ada yang salah gan. Konsultasi lewat inbox saja di https://www.facebook.com/yukcoding :)
sama q juga ngalami gitu gan,,,
mohon solusinya
$data = show("pelanggan", "no_servis='$no_servis'");
------------------------------------
muncul
------------------------
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= '10001'' at line 1
$command = "SELECT * FROM $table";
if($where != null) {
$command .= " WHERE $where";
}
Ingat bahwa setelah petik doble " ada spasi kemudian WHERE
maaf mas saya mau tanya, saya ketikkan syntax keluar gini ni ,,,
Fatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\SI_Pesan\_crud.mysqli.oop.php on line 22
gimana yaak cara perbaikinya ?
makasih sebelumnya ..
Konsultasi lewat inbox aja disini : https://fb.com/yukcoding :)
mas mnt coding nya dong ,trma ksih
Ngobrol santai lewat inbox disini saja mas https://www.facebook.com/yukcoding/ :)
mas, aku juga ngalami masalah yang itu mas... itu pas buat tombol hapus itu...
---------------------------------------------------
else if(@$_GET['page'] == 'hapus'){
$id = @$_GET['id'];
mysqli_query($db, "delete form tb_anggota where id = '$id'") or die ($db->error);
header("location:?page=tampil");
}
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tb_anggota where id = '1'' at line 1
Pake Delete From bukan form
Fatal error:Call to undefined function show() in C:\xampp\htdocs\belajar_mysqli_prosedural\edit.php on line 6
sama Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\belajar_mysqli_prosedural\index.php on line 52
No. Nama Jenis Kelamin Alamat No. Telepon Opsi
itu kenapa ya om pada fuctionnya sama kaya masnya
keren harus belajar ni :2thumbup
Iya :thumbup
Ada yang salah script-mu gan. Coba teliti lagi.
Atau kalo mau konsultasi bisa disini : https://fb.com/yukcoding :)
gan ini pake framework ya ? file nya disimpan jadi satu dengan folder web kita gpp kan ?
Ini belum pake framework tapi udah oop dan agak mirip mvc
Kalo mau tambah satu field untuk input gambar gimana querinya mas?
Kalo mau tambah satu field untuk input gambar gimana querinya mas?
Ya tambahin field dan variable isi 1 lagi. Caranya hampir sama seperti ini cuman ganti pake mysqli https://yukcoding.blogspot.com/2015/02/membuat-upload-gambar-dengan-php-crud.html
download source codenya dimana gan
Ngobrol lewat inbox disini gan https://fb.com/yukcoding
gan videonya gak bisa di putar mohon di perbaiki...
terimakasih...
Berkomentarlah dengan bahasa yang relevan dan sopan.. #ThinkHIGH! ^_^