saya baru belajar koding php, javascript, frame work css,bootstrap,jquery.. pernah menanyakan suatu masalah ke seorang senior development lewat dunia maya dan dia menyarankan saya untuk belajar MYSQLI dan PDO aja karena MYSQL sudah mulai ditinggalkan. apakah berarti ada perubahan syntak atau query pada MYSQLI dan PDO ini?? kalau ada, seperti apa contohnya? atau bagaimana perbedaan mysql dan mysqli ini? saya baru belajar dan masih bingung bedanya dimana.. terima kasih Show Kalau query SQL nya tetap sama nggak ada perubahan (emang nggak bisa dirubah, udah hak paten kayak gitu dari SQL atau aplikasi SQL nya misal MySQL). Nah, kalau syntax fungsi di PHP emang iya berubah. Di PHP, drive/library (mysql) untuk berkomunikasi dengan mysql masih menggunakan struktur prosedural, sedangkan sekarang PHP udah fokus ke sistem object(OOP), makanya PHP bikin baru yang namanya mysqli. Mysqli ini library/drive di PHP yang diambil dari pendahulunya (library mysql), tapi struktur kodenya menggunakan OOP. Karena masih banyak yang pakek library mysql, PHP nggak mau langsung menghapus fungsi ini, tapi kedepannya pasti bakal dihapus. Kayak gitu sih. Tapi, sebaiknya jangan juga belajar mysqli, soalnya nanggung, belajar aja yang PDO. Kenapa? Karena mysqli cuma bisa komunikasi ke mysql, dia nggak bisa dipakek untuk sistem database lain seperti sqlite, PostgreSQL, dll. Kalau PDO dia bisa universal, bisa dipakek untuk komunikasi ke banyak sistem database, lebih cepet, lebih solid, dan lebih aman juga. Catatan: Selain pada MySQL, tutorial ini juga dapat digunakan untuk MariaDB (Duplikat MySQL). MySQLi and PDOBiasanya ketika kita ingin menghubungkan PHP dengan MySQL, kita menggunakan fungsi berikut:
Saat ini, jika sobat masih menggunakan fungsi tersebut maka sebaiknya segera ditinggalkan karena fungsi tersebut HANYA didukung hingga PHP versi 5, mulai versi 7 fungsi tersebut sudah dihilangkan, sehingga jika masih menggunakannya akan muncul fatal error. Jadi fungsi apa yang harus digunakan? Saat ini, PHP menyediakan dua cara untuk menghubungkan PHP dengan MySQL, yaitu dengan MySQLi (MySQL Improvement) dan PDO (PHP Data Object). MySQLiDukungan prosedural programming
Dukungan Object Oriented Programming (OOP)
PDODukungan prosedural programming
Dukungan Object Oriented Programming (OOP)
Kita akan membahas kedua fungsi tersebut. Menghubungkan MySQL Dengan PHPTerdapat beberapa cara dan parameter untuk menghubungkan PHP dengan MySQL, yaitu menggunakan MySQli dan PDO Menggunakan MySQLi (Prosedural dan OOP)Seperti telah disebutkan sebelumnya bahwa ekstensi mysqli memiliki dua jenis inteface yaitu procedural dan object-oriented progamming(oop). Untuk model prosedural programming, format yang digunakan mirip dengan ekstensi mysql_ (tanpa i) sehingga bagi yang terbiasa menggunakan ekstensi mysql_xxx akan familiar menggunakan model ini. Pada model prosedural, fungsi yang digunakan untuk menghubungkan PHP dan MySQL adalah mysqli_connect(), jika kita perhatikan fungsi ini mirip dengan mysql_connect() – tanpa i. Argumen yang digunakan pun sama, yaitu: 4Contoh penggunaan adalah sebagai berikut:
Untuk model OOP, format yang digunakan juga hampir sama yaitu: 5, contoh:
Beberapa pesan kesalahan yang  mungkin terjadi dari kode diatas:
Contoh lengkap:
Penting diperhatikan bahwa ketika mengeksekusi query menggunakan mysqli, maka argumen pertama adalah koneksi, baru kemudian query yang akan dieksekusi: 6 hal ini berbeda dengan ekstensi mysql_xxx dimana argumen hanya berisi perintah sql: 7Untuk mengetahui fungsi MySQLi baik menggunakan OOP Interface maupun Prosedural Interface, silakan mengunjungi: PHP: The MySQLi Extension Function Summary – Manual Pada halaman tersebut terdapat berbagai fungsi-fungsi familiar seperti mysqli_num_fields(), mysqli_fetch_row(), dan mysqli_fetch_array(). Menggunakan PDOBerbeda dengan MySQLi, untuk menghubungkan MySQL dengan PHP menggunakan PHP PDO, kita harus menggunakan 8 block.Maksudnya adalah 9 berarti kita mencoba menjalankan suatu script php, jika terjadi error maka error tersebut akan ditangkap 0 sehingga output dari error akan terisolasi pada block tersebut.Contoh:
Contoh lengkapnya:
Atribut pada PDO PDO memiliki banyak attribute untuk mengatur berbagai fitur yang ada, diantaranya:
Contoh penggunaan beberapa attribute sekaligus:
Contoh penggunaan satu atribut:
Untuk list lengkap attribute yang tersedia, silakan kunjungi: PHP: PDO::setAtribute – Manual. CatatanJika kita perhatikan, pada script diatas kita selalu menutup koneksi mysql setiap kali selesai menggunakan MySQL. Perlukah melakukan hal ini?  jawabnya bisa ya bisa tidak. Jika jawabnya ya Ya, untuk membiasakan sesuatu yang baik karena di bahasa pemrograman lain, jika koneksi tidak ditutup secara manual, maka akan terus terbuka dan tersimpan dalam memory. Jika jawabnya tidak PHP merupakan bahasa interpreter, seperti pyton yang artinya tidak langsung berhubungan dengan fisik komputer, seperti RAM, ada engine sendiri yang menterjemahkan bahasa PHP ke bahasa komputer yaitu Zend Engine. Nah, untuk menjaga agar program tetap berjalan dengan baik, maka setiap akhir eksekusi script engine tersebut akan otomatis menutup semua koneksi pada database. Artikel terkait:
Demikian pembahasan mengenai cara menghubungkan PHP dengan MySQL, semoga bermanfaat. Subscibe NowSuka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun. Apa itu PDO MySQL?PDO merupakan extention yang dapat digunakan untuk melakukan koneksi antara file php ke database. Lalu apa perbedaan saat kita menggunakan PDO dan menggunakan teknik yang telah kita bahas di tutorial sebelumnya, yaitu melakukan koneksi database dari php menggunakan mysqli atau mysql extention ?
Apa yang dimaksud dengan PDO?PHP Data Objects (PDO) merupakan sebuah extension/library yang hadir bersamaan dengan direleasenya PHP versi 5. PDO dibangun menggunakan bahasa C/C++ dan PDO menawarkan sebuah paradigma pemrograman berorientasi object (Object Oriented Programming/OOP) di dalam script PHP yang Anda bangun sehingga dapat berjalan lebih ...
Apa yang dimaksud dengan MySQLi?MySQL dan MySQLi merupakan PHP extension untuk bisa mengkoneksikan antara PHP dan database MySQL. MySQLi extension adalah pengembangan dari MySQL extension. Fiturnya lebih lengkap dan performanya lebih handal.
Apa perbedaan penggunaan MySQLi dan PDO?PDO menggunakan pemrograman objek, mysqli extension tersedia dalam bentuk objek dan prosedural (diakses melalui fungsi-fungsi) sedangkan mysql extension sepenuhnya menggunakan pemograman prosedural.
|