Membuat CRUD dengan PHP Mysqli Prosedural

Assalamu'alaikum wr. wb.

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 ResmiDeprecated 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 youtubenya agar jelas, caranya yang pertama mainkan dulu videonya kemudian setting seperti gambar dibawah :



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 :


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 selanjutnyaMembuat 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.
Membuat CRUD dengan PHP Mysqli Prosedural
Item Reviewed: Membuat CRUD dengan PHP Mysqli Prosedural 9 out of 10 based on 10 ratings. 9 user reviews.

48 comments

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

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

This comment has been removed by the author.

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 "|"

This comment has been removed by the author.

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 :)

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

This comment has been removed by the author.
This comment has been removed by the author.

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 :)

This comment has been removed by the author.

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

Ada yang salah script-mu gan. Coba teliti lagi.
Atau kalo mau konsultasi bisa disini : https://fb.com/yukcoding :)

Emoticon? nyengir

Berkomentarlah dengan bahasa yang relevan dan sopan.. #ThinkHIGH! ^_^

Info

Just load it!