2015-03-01

CURHAT PROGRAMER : MEMAKAI MYSQL

dalam keseharian saya biasa menggunakan mysql dalam program saya. Jadi sangat wajar apabila sangat inget sekali dengan perintah

  • mysql_connect
  • mysql_query
  • dan mysql_ lainnya


Tetapi semua berubah saat diketahui perintah mysql_ kurang untuk database mysql yang memiliki kemampuan seperti transaksi. Pada mysql_ hanya memberikan fungsi dasar yang kurang untuk menggunakan kemampuan mysql terbaru. Untuk hal ini, akhirnya memutuskan mengganti dengan mysqli. Tapi menggunakan mysqli tidak semudah memakai perintah mysql_.


Merubah koding dari mysql menjadi mysqli perlu merubah kebiasaan. Anggap saja bila sebelumnya kita bekerja dari jam 9.. maka sekarang kita harus bekerja dari jam 8!! sebuah kebiasaan baik yang tidak mudah berubah 1-2x. Untungnya penulisan mysql dan mysqli memiliki kesamaan yang mudah di coba untuk berubah.

Walaupun mysql sekarang sudah di hentikan supportnya (php terbaru memberikan error bahkan tidak memberikan fungsinya). Belakangan baru diketahui bahwa buku tentang php-database dimana databasenya adalah mysql tetap memakai perintah mysql. Hal ini diperparah dengan fakta pelajaran php-database sendiri masih memakai perintah mysql_ bukan mysqli!!! Sehingga banyak programer baru hadir dengan sebuah problem klasik..


  • Kenapa keluar error tidak valid.
  • kenapa keluar peringatan mysql tidak di support
  • kenapa tidak keluar hasilnya


dan ketika dibaca, kodingnya memanfaatkan mysql_! Pertama mari kupas satu-satu! dari error tidak valid.

ERROR TIDAK VALID

error disini maksudnya semua error yang terjadi secara tak disengaja. Hal ini dikarenakan kurangnya kendali. Problem tidak valid bukan dimiliki oleh perintah mysql saja, tetapi perintah database lain bahkan oracle?!?
cara menanggulangi adalah memeriksa perintah yang diberikan termasuk melakukan check apabila data yang dikirim memang tersedia (minimal 1 data), kosong (tidak error tetapi terkadang kita menganggapnya error) dan error yang sebenarnya (bisa berbagai alasan).

Untuk Kosong, kita lebih baik melakukan test dahulu apakah query yang diberikan mengembalikan nilai/jumlah data! sebelum menarik data aslinya. Sebagai contoh:
Apakah komentar pada artikel ini ada atau tidak.. bila ada maka perintah membaca komentar tersebut akan dijalankan! bila tidak stop perintah berikutnya dan berikan informasi bahwa tidak ada data! Sehingga waktu menjalankannya jadi lebih efektif! Namun cara ini juga tidak efektif karena harus bekerja 2x yaitu check jumlah dan jalankan query.

untuk melakukan check jumlah biasa menggunakan
select count(*) id from table where sub=5

Mengapa tidak membaca jumlah data yang masuk saat dilakukan query! Alasan utama adalah efisiensi data, dimana kamu bisa saja mengembalikan data yang salah! mengingat data query select * dapat saja salah! Apabila select salah apa yang harus dilakukan?

Pada awalnya saya lebih suka melakukan check dari lihat jumlahnya. Tetapi nyatanya proses query ada 2 kemungkinan yaitu
*gagal query
*query berhasil dan dapat jumlahnya

Apabila query salah (false), kita terkadang salah menangkapnya dan mengatakan bahwa query mengembalikan datanya kosong!! padahal aslinya salah ketik! Dalam mysql_ kita mengenal mysql_error( ); perintah yang menunjukkan error saat dijalankan. Namun perintah ini sendiri belum tentu benar, karena kita harus memperhatikan apakah memang querynya salah atau benar! jangan sampai memakai fungsi tersebut pada query yang benar!

Inti dari ERROR TIDAK VALID adalah Melakukan check pada fungsi dan parameter yang digunakan.

PERINGATAN TIDAK DI SUPPORT

cobalah melihat di berita IT. Mysql sebenarnya tidak di support untuk php terbaru. Sehingga sangat banyak kemungkinan info tidak disupport akan muncul disini. Oleh sebab itulah, perhatikan koding yang kita ketik dan perhatikan php yang digunakan.

Ingat perintah mysql yang tidak di support bukan databasenya. Dan ingat, penggantinya adalah mysqli

TIDAK KELUAR HASIL

kasus ini berkaitan dengan point pertama yaitu butuhnya pengechekan baik dari sisi query maupun koneksinya. Hal yang terbaik untuk dilakukan adalah memakai mysqli dalam kodingmu yang sekarang .. bukan mysq_

Topik ke 3 ini akan berkaitan dengan fakta kecil yaitu.. akan ada kemungkinan database yang kita gunakan bukanlah mysql!! tetapi db lain! Hal ini tentu menyulitkan, tetapi jangan patah semangat dahulu. Terdapat sebuah fungsi/class yang disebut PDO. Class ini berguna untuk menangani coding dimana kamu dapat coding tanpa kebingungan bila db yang digunakan berubah.

Terkadang cara yang paling baik adalah memakai yang sudah ada yaitu PDO. Namun terkadang kita malah memutuskan memakai gaya kita sendiri dan membuat class sendiri.

KESIMPULAN

Memakai mysql bukanlah pilihan terbaik untuk saat ini. PHP sudah memberikan informasi bahwa mysql akan di hilangkan. Kemungkinan besar akan rugi untuk kita bila terus memanfaatkan perinta mysql.

  1. Bergantilah ke mysqli atau PDO..
  2. PHP terbaru sudah tidak support pada perintah mysql bukan pada databasenya.
  3. mysqli memiliki fitur yang bermanfaat. FItur ini tidak disebut disini untuk menyingkat waktu
  4. Untuk programer berfikirlah bahwa DB tidak selalu harus mysql dapat bahasa yang lain. Sehingga pertimbangan memakai fungsi/class non database tertentu.
  5. Memakai class buatan sendiri sangat bagus, namun akan lebih baik memanfaatkan class/fungsi yang sudah ada.

Tidak ada komentar: