#6 Jenis - Jenis Koneksi PHP dengan MySQL

Perkembangan Cara Koneksi PHP dan MySQL, PHP merupakan bahasa pemograman yang selalu di update dan berkembang mengikuti teknologi terbaru. Saat ini, Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan trend pemrograman PHP, dan hal ini juga mempengaruhi cara mengakses database MySQL dari PHP.

PHP memiliki 3 cara pengaksesan MySQL, yakni melalui PDO (PHP Data Objects), mysqli extensiondanmysql extension. PDO menggunakanpemrograman objek, mysqli extension tersedia dalam bentukobjek_dan_prosedural(diakses melalui fungsi-fungsi) sedangkan mysql extension sepenuhnya menggunakan pemogramanprosedural.

Bag. #1 - Koneksi MySQL dengan MySQL Extension

Saat pertama kali mempelajari PHP MySQL sekitar tahun 2008 (atau jika anda pernah mempelajari PHP-MySQL beberapa tahun yang lalu), untuk mengakses MySQL dari PHP, kita menggunakan fungsi-fungsi sepertimysql_connect(), _mysql_query(), _dan _mysql_fetch_array(). _Fungsi-fungsi ini tergabung ke dalam mysql extension (saat itu PDO dan mysqli extension masih jarang digunakan)

Namun sekarang (tepatnya mulai PHP versi 5.5.0) PHP memutuskan untuk membuat mysql extension berstatusdeprecated. Yang artinya pengaksesan database MySQL menggunakan fungsi_mysql extension_sudah tidak disarankan lagi. Programmer PHP diharapkan pindah ke mysqli extension atau PDO yang berbasis objek.

Alasannya, MySQL versi terbaru memiliki fitur-fitur yang semakin lengkap dan kompleks, sehingga PHP memutuskan untuk membuat fungsi extension baru agar programmer PHP bisa menggunakan fitur-fitur ini.

Cara Penulisan mysql extension

<?php
// cara mengakses MySQL menggunakan mysql extension:
$link = mysql_connect("localhost", "root", "qwerty");
mysql_select_db("universitas");
$result = mysql_query("SELECT * FROM mahasiswa");
$row = mysql_fetch_assoc($result);

Bag. #2 - Koneksi MySQL dengan MySQLi Extension

Sebagai pengganti mysql extension, PHP menyediakan mysqli extension (mysqli merupakan singkatan dari MySQL Improved). Mysqli extension ini pada dasarnya adalah perbaikan dari_mysql extension_dan dikembangkan untuk mendukung fitur-fitur terbaru untuk MySQL 4.1 keatas.

Hampir semua fungsi yang ada padamysql extension_juga tersedia pada_mysqli. Syntax (aturan penulisan) mysqli sangat mirip dengan mysql extension. Sehingga jika anda telah lama menggunakan mysql extension, akan sangat mudah untuk beralih menggunakan mysqli extension.

Selain menggunakan mysql maupun mysqli extension, cara ketiga untuk pengaksesan database MySQL dari PHP adalah dengan menggunakan PHP Data Objects (atau sering disingkat dengan PDO)

Cara Penulisan mysql extension

// cara mengakses MySQL menggunakan mysqli extension:
$mysqli = new mysqli("localhost", "root", "qwerty", "universitas");
$result = $mysqli->query("SELECT * FROM mahasiswa");
$row = $result->fetch_assoc();

Bag. #3 - Koneksi MySQL dengan PDO (PHP Data Objects)

PDO (PHP Data Objects), adalah_extension_atau penambahan fitur dalam PHP yang dirancang sebagai_interface universal_untuk pengaksesan berbagai jenis database (tidak hanya MySQL). Contohnya, jika kita menggunakan PDO dalam menulis kode pemograman, lalu suatu saat website kita bertukar database dari MySQL ke Oracle, maka kita tidak perlu mengubah semua kode program, cukup mengubah cara pemanggilanPDOdiawal program saja.

Dari ketiga cara koneksi PHP dengan MySQL ini, metode yang disarankan adalah menggunakan mysqli atau PDO.

// cara mengakses MySQL menggunakan PDO:
$pdo = new PDO('mysql:host=localhost;dbname=universitas', 'root', 'qwerty');
$statement = $pdo->query("SELECT * FROM mahasiswa");
$row = $statement->fetch(PDO::FETCH_ASSOC);
?>

API yang Disarankan

Dianjurkan untuk menggunakan ekstensi mysqli atau PDO_MySQL. Tidak disarankan untuk menggunakan ekstensi mysql lama untuk pengembangan baru, karena sudah tidak berlaku lagi di PHP 5.5.0 dan telah dihapus di PHP 7. Matriks perbandingan fitur rinci tersedia di bawah ini. Keseluruhan kinerja ketiga ekstensi dianggap hampir sama. Meskipun kinerja ekstensi hanya menyumbang sebagian kecil dari total jangka waktu permintaan web PHP. Seringkali, dampaknya serendah 0,1%.

Perbandingan fitur

Sumber: http://php.net/manual/en/mysqlinfo.api.choosing.php

results matching ""

    No results matching ""