PHP CRUD Tidak Masuk Pada Database? Trik Debug Query PHP MySQLI

LATAR BELAKANG
Error koneksi mysqli PHP native sering kali jadi dialami programmer pemula, secara spesifik errornya adalah tidak muncul error tapi query gagal. Hal ini bisa terjadi karena tidak adanya perintah kode untuk debuging error pada koneksi tersebut, menurut penulis ini adalah kurang jelasnya pemberi materi saat mengajarkan koneksi mysqli pada PHP native. Pemateri sering kali tidak mengajarkan cara debugging bahkan mengabaikan debugging itu sendiri.
Bentuk umum cara koneksi PHP Mysqli ke database adalah seperti ini :
<?php
$db_host = "localhost";
$db_username = "root";
$db_password = "";
$db_name = "debug-query";
$konek = mysqli_connect($db_host, $db_username, $db_password, $db_name);
if(!$konek){
die("Koneksi Error : ".mysqli_connect_error());
}
?>
PEMBAHASAN
Ini adalah kode PHP Mysqli yang umum dan benar karena pada kode tersebut sudah terdapat kode untuk debug error yaitu bagian :
die("Koneksi Error : ".mysqli_connect_error());
Contoh Query Insert :
Bentuk 1
<?php
include 'koneksi.php';
$nama = "Tata Adi N";
$nim = "123123";
$query = "INSERT INTO user VALUES('','$nama','$nim')";
mysqli_query($konek, $query);
?>
Kode di atas mengabaikan error yang terjadi pada query maka ketika tidak ada error pada layar tapi insert tidak masuk pada database jangan heran. Sebab, bukan tidak ada error melainkan errornya memang diabaikan.
Bentuk 2
Kemudian kode dibawah ini sering diajarkan tapi masih sedikit mengabaikan error yang ada. Kode ini mengetahui jika ada error, namun tak mau mencari lebih detail errornya apa.
<?php
include 'koneksi.php';
$nama = "Tata Adi N";
$nim = "123123";
$query = "INSERT INTO user VALUES('','$nama','$nim')";
$result = mysqli_query($konek, $query);
if($result){
echo "Insert Sukses";
}else{
echo "Insert Gagal";
}
?>
Kode di atas membuat programmer tau kalau ada error namun harus mencari - cari lagi error ada dimana.
Bentuk 3
<?php
include 'koneksi.php';
$nama = "Tata Adi N";
$nim = "123123";
$query = "INSERT INTO user VALUES('','$nama','$nim')";
$result = mysqli_query($konek, $query);
if($result){
echo "Sukses";
}else{
die("Query Error : ".mysqli_error($konek));
}
?>
Kode di atas jarang diajarkan padahal kode diatas paling baik dalam debug error. Tidak hanya sekedar memberi tahu kalau ada error namun juga memberitahu secara detail kenapa bisa error.
Jika mengalami CRUD PHP Mysqli gagal tapi tidak ada error yang tampil coba pakai Bentuk 3. Sudah pakai Bentuk 3 tapi masih gagal dan tidak ada errornya. Berikut trik yang biasa penulis pakai untuk debug input-an yang ada. Biasanya errornya adalah query benar namun input-annya tidak masuk pada query cara taunya bagaimana?.
KESIMPULAN
Salah satu keunggulan mysqli adalah bisa menampilkan query yang sudah di-generate, dengan errornya kode query tersebut bisa tampil dan dapat diteliti lagi apakah inputan benar - benar masuk pada query? Coba gunakan trik debug query yang biasa penulis gunakan di bawah :
Contoh tulisan INSERT jadi INSERTZ lihat kode di bawah :
$query = "INSERTz INTO user VALUES('','$nama','$nim')";
Seringkali inputan yang masuk tersebut kosong atau salah karena kecerobohan programmer yang typo menulis nama variabel. Masih tidak ketemu solusi? Mari kita diskusikan atau diskusikan di forum andalan.
Unduh Projek untuk coba - coba :GITHUB PROJEK
Gabung dalam percakapan