Tutorial PHP MySQL Part 16: Pengertian dan Cara Penggunaan Prepared Statements mysqli

Posted on

Diantara fitur baru yang terdapat di pada mysqli extension yang tak ada di mysql extension yaitu dukungan bagi prepared statements MySQL. Pada panduan belajar PHP MySQL kali ini kita akan membahas mengenai pengertian prepared statements dan cara pemakaian prepared statements dengan mysqli.


PHP mendukung fitur prepared statements di mysqli extension dan PDO. Fitur ini pun umum digunakan di pada pemrograman PHP lanjutan seperti framework PHP. Karena hal ini, urgen pun untuk kita bagi memahami cara penggunaannya.

Pengertian Prepared Statements MySQL

Prepared statements yaitu sebuah fitur yang disediakan MySQL (dan pun beberapa program database lainnya), dimana kita dapat mengirim query (petunjuk) secara terpisah antara query inti dengan “data” dari query. Tujuannya, agar query menjadi lebih aman dan cepat (apabila petunjuk yang sama akan digunakan beberapa kali).

Selaku perbandingan, bagi menampilkan data MySQL menggunakan guna mysqli_query(), kita merancang seluruh query pada 1 string dan seketika mengirimkannya ke MySQL Server, selaku berikut:

Dengan prepared statements, query tersebut akan dipisah antara petunjuk query: “SELECT…” dengan ‘data’-nya yakni “Neil Situmorang”.


Proses Perancangan Prepared Statement MySQL

Proses penyusunan prepared statements membutuhkan 3 langkah: Prepared, Bind, dan Execute.

Di proses pertama-tama: prepared, kita mempersiapkan query yang akan dijalankan, tetapi tanpa ‘data’. Bagian dimana ‘data’ berada digantikan dengan tanda tanya (?), seperti berikut ini:

atau

Secara teknis, query diatas akan seketika di kirim PHP ke MySQL Server. Di pada MySQL, petunjuk tersebut disimpan bagi sementara menunggu proses berikutnya: bind.

Proses kedua yaitu bind. Pada tahap ini, kita akan mengirimkan data yang telah ditandai pada proses prepare. Data disini yaitu bagian yang diberi tanda “?”. Seandainya di pada proses prepare hanya butuh 1 data, kita mengirimkan 1 data. Tetapi apabila kita butuh 5 data, kita mengirimkan 5 data (sesuai dengan query yang ditulis pada tahap prepare).

Setelah proses prepare dan bind, berikutnya yaitu menjalankan prepared statement (execute).


Kenapa Mesti Menggunakan Prepared Statements?

Keuntungan terbesar dari pemakaian prepared statements yaitu pada hal keamanan. Bagi program ‘nyata’, bagian “data” dari suatu query biasanya berasal dari user. Seorang user yang jahil dapat saja menambahkan petunjuk SQL di kotak inputan user name. Metoda ini dikenal pun dengan SQL Injection.

Dengan memisahkan petunjuk query dengan datanya, kita dapat mencegah penyisipan query.


Cara Pemakaian Prepared Statements mysqli

Pembahasan mengenai prepared statements lumayan panjang dan akan saya bahas secara bertahap pada 2 panduan berikutnya. Selaku sekilas, berikut yaitu contoh kode program bagi menampilkan data mahasiswa dari tabel mahasiswa_ilkom menggunakan prepared statement mysqli (procedural style). Penjelasan mengenai kode program ini akan kita bahas komplit di panduan berikutnya:

Seandainya kode program diatas dijalankan, hasilnya yaitu selaku berikut:

Disini saya menggunakan database universitas, dan tabel mahasiswa_ilkom. Database dan tabel ini kita bikin di panduan PHP MySQL: Cara Menampilkan Tabel MySQL dari PHP (mysql_fetch_row).

Pada program diatas, saya menggunakan prepared statements bagi menampilkan data mahasiswa_ilkom dengan nama = “Neil Situmorang”. Saya akan membahas kode program diatas secara detail pada panduan berikutnya: Cara Menampilkan Data MySQL Menggunakan Prepared Statements mysqli.


Sumber https://www.duniailkom.com/