Wew

Kalo ngebaca judulnya emang agak rancu, biar g bingung gw mau nulis apa gw kasih kasusnya aja sama kalian. Jadi gw dikasih proyek untuk membuat aplikasi sederhana untuk pengaturan database kantor. Biar gampang aplikasi ini gw buat dengan dasar webprogramming, agar aplikasi ini bisa dijalankan di platform mana saja. (sebenarnya alasan utamanya karena yang gw bisa cuma web programming, desktop programming gw bener2 suck apalagi klo ketemu OOP).

Nah dalam membangun aplikasi ini ada banyak sekali variabel dan field database yang digunakan. Berhubung gw g biasa ketemu variabel dan kolom database yang harus dipakai, ujung2nya ketika akan insert SQL Query terjadi error yang sebenarnya sudah gw duga sebelumnya. (bayangin aja, ada 50 kolom yang harus dimasukkan yang melibatkan beberapa tabel sekaligus dan codingnya harus gw masukin satu-satu). Dan voilla, muncullah berbagai SQL error yang keluar di layar..

 Column count doesn't match value count at row 1

Noh bingung tu, harus baca lagi query SQL yg udah dimasukin, dengan jumlah variabel yang banyak bener... Bingung-bingung baca dan tetep aja g ketemu. Klo ngeliat artinya sih keliatan kalau penyebab errornya karena values data yang disubmit tidak sama dengan jumlah kolom yang ada di database mySQL. Nah, berhubung jumlah data yang di insert banyak bener jadi gw jadi sepet sendiri ngeliat kodingnya. Yang jelas dan pasti ada kesalahan koma dan tanda petik di script yang gw buat, tapi karena emang ni mata tukang baca cepat jadi neliti hal kayak gini jadi susye bener...

Gugling demi gugling, akhirnya ketemu juga solusi yang agak instan dan mempermudah kita melihat kesalahan. Bagaimana caranya? Begini...

Ketika kita membuat code untuk menginsert SQL query maka datanya akan terlihat seperti di bawah ini.

$query = mysql_query("insert into kompilasi values('', '$nomor', '$tanggal', '$kode_perwakilan', '$nama_perwakilan', '$kode_pemda', '$nama_pemda', '$kode_opini', '$nama_opini', '$kode_kegiatan', '$nama_kegiatan', '$kode_permasalahan1', '$nama_permasalahan1', '$kode_permasalahan2', '$nama_permasalahan2', '$kode_permasalahan3', '$nama_permasalahan3', '$kode_permasalahan4', '$nama_permasalahan4', '$kode_permasalahan5', '$nama_permasalahan5' '$kode_saran1', '$nama_saran1', '$kode_saran2', '$nama_saran2', '$kode_saran3', '$nama_saran3', '$kode_saran4', '$nama_saran4', '$kode_saran5', '$nama_saran5')") or die(mysql_error());

Nah kode di atas adalah kode untuk menginsert value data dari variabel yang telah ditentukan. Tentunya akan ribet memeriksa satu persatu karena di sini ada banyak sekali tanda-tanda pengabur koma dan tanda petik sehingga tidak menjadi fokus kita. Agar kita dapat melihat lebih fokus maka ada satu cara agar kita dapat melihat lebih jelas (clearview) kode tersebut. Yaitu dengan alih-alih menginsert data ke tabel, kita malah menampilkan data yang akan kita insert tersebut di layar, hal ini menurut gw akan lebih mudah dalam mencari kesalahan koma dan petik.

<?php echo "insert into kompilasi values('', '$nomor', '$tanggal', '$kode_perwakilan', '$nama_perwakilan', '$kode_pemda', '$nama_pemda', '$kode_opini', '$nama_opini', '$kode_kegiatan', '$nama_kegiatan', '$kode_permasalahan1', '$nama_permasalahan1', '$kode_permasalahan2', '$nama_permasalahan2', '$kode_permasalahan3', '$nama_permasalahan3', '$kode_permasalahan4', '$nama_permasalahan4', '$kode_permasalahan5', '$nama_permasalahan5' '$kode_saran1', '$nama_saran1', '$kode_saran2', '$nama_saran2', '$kode_saran3', '$nama_saran3', '$kode_saran4', '$nama_saran4', '$kode_saran5', '$nama_saran5')" ?>

Sehingga di layar setelah kita mensubmit data maka akan tampil data yang akan kita masukkan ke SQL.

insert into kompilasi values ('', 'asd', '24/04/2012', '9', 'asd', 'asd', 'asd', 'B2', 'asd', 'A2', 'asd', 'C0', 'asd', 'C0', 'asd', 'C0', 'asd', 'C0', 'asd', 'C0', 'asd' 'D74', 'asd', 'D74', 'asd', 'D74', 'asd', 'D74', 'asd', 'D74', 'asd')

Nah dari tampilan di atas akan terlihat lebih mudah data mana yang kurang tanda petik komanya. Dan yang kurang ternyata value sebelum D74 dimana D74 merupakan value dari variabel $kode_saran1. Jadi tinggal tambahin deh di script kita tanda koma sebelum '$kode_saran1'. Selesai deh..

Itulah tadi info ringan yang sebenarnya bagi mereka yang biasa koding pasti tau lah, gw aja yang bego karena jarang ketemu proyek serius makanya gatau. 

Semoga bermanfaat dan Keepblogwalking kawan...