Last Updated on August 26, 2022 by
Halo pembaca setia, selamat datang di codekey.id! Website yang membahas berbagai bahasa pemrograman lengkap khusus untuk Anda. Pada kesempatan kali ini kita akan bersama-sama belajar PHP Data Object atau PDO.
Dalam dunia pemrograman, salah satu cara untuk mempercepat pengerjaan tugas ialah dengan menggunakan pernyataan atau extension yang disiapkan PHP. Extension adalah template untuk mengirim kueri atau mengunggah data ke database SQL. PDO sendiri adalah extension baru yang dirilis oleh PHP bersamaan dengan rilisnya PHP versi 5.0.
Di artikel ini kami akan membantu Anda belajar PHP dengan membahas extension baru ini. Salah satu kelebihan utama PDO adalah menawarkan interface ringan, yang dirancang untuk mengakses database.
Dengan menggunakan PDO atau MySQLi, pernyataan yang disiapkan memberikan lapisan keamanan tambahan. Hal ini karena sistem mengirimkan values secara terpisah dengan kueri ke dalam servernya. Sehingga kedua bagian kombinasi ini tidak akan saling terpengaruh atau berhubungan secara langsung.
Dalam pembahasan kali ini, berikut materi yang akan kami bahas:
- Tips Utama pada PDO dan MySQLi
- Menyiapkan Parameter Kerja
- Penggunaan PDO vs MySQLi
- Ringkasan Pembahasan
Table of Contents
Tips Utama pada Penggunaan PDO dan MySQLi
Berikut hal-hal utama yang harus Anda ketahui dan perhatikan dalam penggunaan PDO dan MySQLi untuk memudahkan Anda dalam penggunaan dan memahami penggunaan PDO lebih baik:
- Extension yang disiapkan akan PHP sangat berguna untuk melawan injeksi SQL dan mengurangi waktu penguraian.
- Parameter preset mengurangi bandwidth yang diperlukan dengan hanya mengirimkan nilai tertentu, bukan keseluruhan kueri.
- Extension yang disiapkan telah didukung oleh PHP PDO dan MySQLi.
Menyiapkan Parameter Kerja
Hal berikutnya yang harus diperhatikan dalam mempelajari PDO adalah bagaimana menyiapkan parameter kerja yang dibutuhkan dalam proses pembuatan projek. Berikut ini 2 tahapan yang telah disipakan PHP yang harus Anda ketahui:
Preparing
Langkah pertama yang harus dilakukan dalam penggunaan PDO adalah membuat template pernyataan SQL lalu mengirimkannya ke server database untuk dapat diuraikan. Setelah server menyelesaikan proses ini, server kemudian akan melakukan pemeriksaan sintaks, dilanjutkan dengan melakukan proses optimasi kueri, dan terakhir menyimpan pernyataan tersebut.
Executing
Langkah berikutnya pada persiapan parameter kerja PDO adalah mengeksekusi. Pada beberapa point nantinya, Anda akan mengirimkan parameter value ke dalam server. Server kemudian akn mengambil template yang telah disimpan. Berikutnya, server akan membuat extension dengan nilai yang sebelumnya telah diterima. Setelah proses ini selesai dilakukan, Anda extension dapat dijalankan.
Penggunaan PDO vs MySQLi
Saat menggunakan extension yang telah disiapkan oleh PHP, Anda tidak akan mendapati perbedaan besar dalam hal apakah Anda memilih untuk terhubung ke database melalui ekstensi MySQLi atau PHP PDO.
Menggunakan ektensi MySQLi atau PP PDO, kedua jenis koneksi tersebut mendukung extension yang disiapkan. Namun tentu saja tidak sepenuhnya sama, sebab terdapat beberapa perbedaan dalam cara Anda menulis skrip. Berikut ini cara yang dapat Anda lakukan jika penghubung database baik menggunakan MySQLi ataupun PHP PDO.
MySQLi
Perhatikan contoh penerapan di bawah ini, dapat diamati bahwa contoh ini menggunakan parameter terikat dan pernyataan yang disiapkan PHP untuk mengirim kueri ke MySQLi.
<?php $host = 'host'; $user = 'user'; $pass = 'pass'; $db = 'db'; // Koneksi $conn = new mysqli($host, $user, $pass, $db); // Cek koneksi if ($conn->connect_error) { die("Failed to connect: " . $conn->connect_error); } $stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)"); $stmt->bind_param("ss", $name, $email); // Masukan nilai parameter and execute $name = "Andi"; $email = "andi@example.com"; $stmt->execute(); $name = "Toni"; $email = "toni@example.com"; $stmt->execute(); $name = "Doni"; $email = "doni@example.com"; $stmt->execute(); echo "Success."; $stmt->close(); $conn->close(); ?>
Jika Anda mengamati lebih detail contoh di atas, dapat Anda pahami bahwa pada bagian;
"INSERT INTO users (name, email) VALUES (?, ?)"
Tanda tanya (?) dalam pernyataan ini mewakili variabel yang ingin Anda unggah.
Selanjutnya, mari perhatikan fungsi bind_param():
$stmt->bind_param("ss", $name, $email);
- Fungsi di atas mengikat parameter yang ingin digunakan pada kueri yang kita kirim dan menginformasikan kepada database tentang kueri tersebut.
- Bagianss pada kueri menentukan jenis data apa yang dapat ditetapkan ke dalam parameter.
- s pada bagian ini dimaksudkan untuk mendefinisikan bahwa parameter tertentu tidak lain adalah string.
Terdapat empat jenis argumen yang mungkin digunakan, di mana masing-masing argumen dapat diwakili oleh huruf tertentu, seperti bilangan integer yang diwakili oleh (i), double yang diwakili huruf (d), string yang diwakili huruf (s), dan BLOB yang diwakili oleh (b).
Anda harus mentukan argumen untuk setiap parameter yang ada, sebab menentukan jenis data yang diharapkan database akan meminimalkan risiko injeksi SQL.
Untuk Anda ingat, jika Anda ingin menyisipkan data dalam bentuk dan berupa apapun dari sumber eksternal, contohnya menginput pengguna maka data harus dibersihkan dan divalidasi sebelumnya.
PHP PDO
Pada bagian ini kami akan menjelaskan bagaimana menulis skrip untuk extension yang telah disiapkan oleh PDO.
<?php $host = 'host'; $user = 'user'; $pass = 'pass'; $db = 'db'; try { $conn = new PDO("mysql:host=$host;dbname=$db", $user, $pass); // exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //bind parameters $stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)"); $stmt->bindParam(':name', $name); $stmt->bindParam(':email', $email); // insert data $name = "Andi"; $email = "andi@example.com"; $stmt->execute(); // insert data $name = "Toni"; $email = "toni@example.com"; $stmt->execute(); // insert data $name = "Doni"; $email = "doni@example.com"; $stmt->execute(); echo "Success"; } catch(PDOException $e) { echo "Error: " . $e->getMessage(); } $conn = null; ?>
Ringkasan Pembahasan
Nah, sampailah kita pada penghujung pembahasan. Dari penjelasan yang telah disampaikan di atas, kita dapat menarik kesimpulan atau meringkas point-point penting sebagai berikut:
- Ekstensi MySQLi dan PDO mendukung extensin yang telah disiapkan sebelumnya.
- Fungsionalitas ini akan membuat aplikasi yang Anda buat menjafi kurang sensitif terhadap injeksi SQL serta akan mempercepat penguraian.
- Saat parameter telah diatur sebelumnya, bandwidth yang digunakan menjadi lebih sedikit: Dengan begitu Anda tidak perlu mengirim seluruh kueri yang dibuat. Di mana yang tersisa hanyalah menentukan nilai yang harus dikirim.
Sekian pembahasan kali ini tentang PHP Data Object atau PDO. Untuk Anda yang juga ingin lebih banyak belajar PHP PDO, Anda dapat mengunjungi situs https://code.tutsplus.com/id/tutorials/why-you-should-be-using-phps-pdo-for-database-access–net-12059 untuk mengetahui lebih banyak tentang penggunaan PHP PDO pada database. Sampai jumpa di tutorial PHP lainnya, semoga bermanfaat!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.