Cara Terbaru Menghubungkan MySQL -PHP dan MySQLi -PDO

A. MENGENAL MySQLi - PDO

Bahasa pemrograman PHP saat ini terus akan di berkembang kedepanya. Dalam pengembangan ini ada yang akan ditambahkan dan ada juga yang akan dihilangkan dari PHP berdasarkan Versinya. Begitu juga merubah cara menghubungkanya.

Kali ini kita akan membahas tentang migrasinya MySQL PHP dengan MySQLi PDO. Pada pembahasan ini saya jelaskan terlebih dahulu bahwasanya selain pada MySQL artikel ini juga dapat digunakan oleh Web Service dalam MariaDB.

Pada awalnya kita mengenal cara menghubungkan MySQL dan PHP dan kita menggunakan fungsi berikut :


mysql_connect()
mysql_select_db()
mysql_close()

Mungkin anda masih menggunakan fungsi ini untuk menghubungkan MySQL dengan PHP, untuk sekarang segeralah meningalkan fungsi ini, karena fungsi ini hanya digunakan pada PHP Versi5, Namun pada PHP Versi 7 funggsi ini sudah dihilangkan secara permanen. Jika anda menggukan ini pada versi PHP 7 maka anda kan mendapatkan pesan Fatal Error.

Jadi fungsi inilah yang akan anda gunakan pada PHP Versi 7 yakni MySQLi  (MySQL Improvement) dan PDO  (PHP Data Object).

#MySQLi
MySQLi mendukung prosedural programing , dan jika anda terbiasa menggunakan mysql_connect, maka konsep MySQLi ini juga sama hanya saja anda harus menggunakan Improvement pada penerapanya, anda dapat menggunakanynya seperti ini mysqli_connect. MySQLi juga mendukung dengan konsep OOP pada PHP, mendukung prepare SQL Injection dan lebih cepat dari MySQL.

#PDO
PDO tidak mendukung prosedural programing, PDO juga merubah bentuk dan mendukung lebih dari 12 Database yang dapat di kolaborasikan dengan PDO termasuk MariaDB dan Oracle. 

B. IMPLEMENTASI MySQLi –PDO

#Implementasi MySQLi
Langkah dalam penggunaan parameter untuk menghubungkan MySQLi dan PHP. Untuk konsep prosedural MySQLi pada PDO kita dapat menggunakan format seperti contoh dibawah ini :



// Membuka Connection
$con = @new mysqli_connect('localhost', 'root', '', 'produk');
if (!$con) {
  echo "Error: " . mysqli_connect_error();
  exit();
}
// Memanggil Query
$sql        = 'SELECT * FROM produk';
$query      = mysqli_query($con, $sql);
while ($row = mysqli_fetch_array($query)){
  echo $row['nama'];
}
// Close connection
mysqli_close ($con);

Perbedaan penerapan MySQLi pada PDO dan MySQLi pada Prosedural adalah penambahan karakter new (@new) yang digunakan untuk PDO. Pada PDO anda juga akan menemukan fungsi-fungsi yang familiar yang dapat anda gunakan seperti mysqli_num_fields(), mysqli_fetch_row(), dan mysqli_fetch_array()   untuk informasi lebih lanjut dan lengkap anda dapat mengunjungi halaman ini :  http://php.net/manual/en/mysqli.summary.php .

#Implementasi PDO
Pada penerapan PDO ini sedikit berbeda dengan penerapan pada OOP, pada PDO anda harus dituntut menggunakan try{} dan catch{} block. Apa fungsi dari try{}  ini adalah wadah untuk kita menjalan coding atau script PHP, dalam wadah try{} akan mengoreksi kemungkinan error, dan jika terjadinya erro dalam coding yang kita buat maka akan di tangkap oleh catch{} sehingga output dari error tersebut akan terisolasi pada blok catch{} tersebut.

Inilah cara lengkapnya penerapan PDO :



// Open connection
try {
   $pdo = new PDO('mysql:host=localhost;dbname=produk', 'root', '');
}
catch (PDOException $e){
    echo 'Error: ' . $e->getMessage();
    exit();
}
// Run Query
$sql        = 'SELECT * FROM produk';
$stmt       = $pdo->prepare($sql); // Mencegah SQL injection . stmt artinya statement
$stmt->execute();
while ($row = $stmt->fetch()){
    echo $row['nama'];
}
// Close connection
$pdo = null;


Ada beberapa attribute lain untuk mengatur fitur pada PDO. ini adalah attribute tambahan dalam PDO :



PDO::ATTR_ERRMODE untuk mengatur error yang ditampilkan
PDO::ATTR_DEFAULT_FETCH_MODE  untuk mengatur default fetch mode





try {
    $driver_options = array(
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,              
    PDO::ATTR_ERRMODE => PDO::ATTR_ERRMODE_EXCEPTION,
    PDO::MYSQL_ATTR_LOCAL_INFILE => 1);
    $pdo = new PDO('mysql:host=localhost;dbname=produk', 'root', '',    $driver_options);
}


Untuk penerapan berdasarkan Attribute dengan PDO seperti contoh berikut:



try {
    $pdo = new PDO('mysql:host=localhost;dbname=produk', 'root', '');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ATTR_ERRMODE_EXCEPTION);
}


Demikian pembagasn artikel ini, semoga anda dapat memanfaatkan bagaiman dan apa perkembangan pada PHP Versi 7 saat ini.
Recommend Article × +

OWNER AND CO OF PT. TRANS TECHNO Freelance Web Design and Yii2 Development in ICT STKIP PGRI WEST SUMATRA. While Studying MAGISTER UPI-YPTK Padang,CEO CMS Codepedia, Lives in Padang - Indonesia | WhatsApp : 0853-7516-4491

Related Posts

Update Sesudahnya
« Prev Post
Update Sebelumnya
Next Post »