bermain di pantai |
Fungsi disini memakai fungsi sederhana saja. Namun saya akan membahas beberapa fungsi yang lebih ke arah keamanan. Jadi dibandingkan ada query langsung dijalakan.. kita melakukan pengechekan terlebih dahulu.
Kita mulai dari coding sederhana..
$host="localhost";
$user="root";
$pass="";
$db="work_sejahtera";
$mysqli = new mysqli($host, $user, $pass, $db);
/* Membuka Koneksi */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}else{
//evertyhing looks fine
}
printf("Host information: %s\n", $mysqli- > host_info);
/* Menutup Koneksi */
$mysqli- > close();
konsep di atas adalah membuka koneksi lalu menutupnya. Bila anda perhatikan saya menulis else padahal tidak diperlukan. Hal ini saya biasakan untuk dokumentasi, biasa saya sisipkan sesuatu penjelasan dibawahnya
Berikutnya adalah tentang mengingat coding. Seorang programer itu jangan sekedar 'mengingat nama fungsi' .. tetapi pintar agar mudah mengingat 'nama fungsi'. Bila kita ingat mysql_connect.. kenapa ngak sekalian inget yg lebih mudah.. dalam hal ini kita harus mikir untuk mengetik cepat
disinilah kita akan menggunakan class buatan sendiri. Yang akan membawa pertanyaan kenapa bikin class sendiri padahal sudah disediakan oleh si class mysqli.. bukannya boros?
pertama untuk koneksi dan query kita memang terlihat boros. Namun kadang kita menginginkan semacam keamanan. contoh dalam kasus ini adalah sebelum menjalankan query, kita ingin memastikan nilainya angka atau string! Untuk mudah kita memakai angka..
QUERY DENGAN PARAMETER ANGKA
logika untuk coding ini secara umum adalah- siapkan query
- jalankan query
- check apakah query berhasil atau gagal
bila membaca pada tulisan saya sebelumnya, anda akan sadar bahwa saya tidak menulis query dalam fungsinya tetapi diletakkan di variabel lalu menjalankannya
$sql='...';
$q=$db->query();
if(!$q){ /* error */ }
asumsikan query kita
select nama from pasien where id='6';
dimana 6 adalah parameternya! Tapi apa yang terjadi bila yang masuk adalah '6!' atau '6 ' (ada spasi tapi kamu tidak tahu).. maka mau ngak mau kamu harus melakukan perbaikan logika..
check parameternya
bila parameter masalah maka tentukan apa yang harus dilakukan seperti stop atau perbaiki? Untuk kasus angka coba perbaiki. Nantinya kita akan spesifikasikan apa yang akan kita kerjakan sesuai kebutuhan kamu. Tentu saja ini masalah keamanan jangan di anggap remeh dahulubila dijalankan maka jalankan query hingga check apakah query berhasil
bila tidak dijalankan jelaskan kenapa error
KENAPA MEMBUAT CLASS SENDIRI
kembali ke asus kenapa kita harus repot2 bikin class sendiri. Karena kita ingin menyingkat ketikan. Daripada membuat fungsi berkali2 untuk keluar tampilan, kenapa ngak bikin 1 fungsi yang melakukan semua.. contoh mengeluarkan isi dari table (1 data).. kita butuh 2 fungsi (ignore penjelasan yang tidak pake fungsi)siapkan query (asumsikan langsung jadi variable sql tanpa di filter seperti tulisan atas)
jalankan query
tampilkan hasilnya
sebenarnya ada 3 yaitu jalankan query dan pastikan berhasil. namun kalau kita lihat codingnya.. dibutuhkan 3 line untuk menjalankannya. Walau aslinya kita bisa bikin jadi 1 !! namun bukan itu yang jadi perhatian dalam tulisan ini.
Intinya disini untuk mendapatkan hasil data harus 2x jalan.. padahal kita ingin buru2.. dan biasanya kita suka malas kl ngetik query, fetch.. kenapa tidak membuat 1 fungsi yang langsung jalan sekaligus?!? kita bisa bundel dalam 1 fungsi dan kasi nama listData..
ListData adalah nama fungsi yang biasa kupakai, tidak menutup kemungkinan pakai nama lain. Di coding lain malah memakai nama fetchOne (untuk 1 data) dan fetchAll (data lebih dari 1). Atau Result yang bisa kita ketik resOne atau result (bukan resultAll). Untuk tipe datanya biasa saya memakai array dibandingkan memakai objek ( $data -> blabla ).
Sebagai penutup, mari copy paste class yang saya miliki dan 'ubah' sesuai nama yang anda 'sukai' (klik tulisannya). Jangan lupa credits dan cara pakai dimasukkan supaya tidak lupa !
Kedepannya saya akan memakai class ini ya
Tidak ada komentar:
Posting Komentar