Home » PHP » PHP MySQL Terhubung ke Database: Cara Koneksi Database MYSQL Dengan PHP

PHP MySQL Terhubung ke Database: Cara Koneksi Database MYSQL Dengan PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

PHP 5 dan yang lebih baru dapat bekerja dengan database MySQL menggunakan:

  • Ekstensi MySQLi (“i” berarti ditingkatkan)
  • PDO (Objek Data PHP)

Versi PHP sebelumnya menggunakan ekstensi MySQL. Namun, ekstensi ini tidak digunakan lagi pada tahun 2012.

Mana yang lebih baik MySQLi atau PDO?

Jika kita membutuhkan jawaban singkat, jawabannya adalah “Apapun yang disuka”.

Baik MySQLi dan PDO memiliki kelebihan:

PDO akan bekerja pada 12 sistem database yang berbeda, sedangkan MySQLi hanya akan bekerja dengan database MySQL.

Jadi, jika kita harus mengalihkan proyek kita untuk menggunakan database lain, PDO membuat prosesnya mudah. Kita hanya perlu mengubah string koneksi dan beberapa kueri. Dengan MySQLi, kita perlu menulis ulang seluruh kode – termasuk kueri.

Keduanya berorientasi objek, tetapi MySQLi juga menawarkan API prosedural.

Keduanya mendukung Pernyataan Siap. Pernyataan yang Disiapkan melindungi dari injeksi SQL dan sangat penting untuk keamanan aplikasi web.

Contoh MySQL dalam Sintaks MySQLi dan PDO

Dalam hal ini dan selanjutnya kita akan mendemonstrasikan tiga cara bekerja dengan PHP dan MySQL:

  • MySQLi (berorientasi objek)
  • MySQLi (prosedural)
  • PDO

Instalasi MySQLi

Untuk Linux dan Windows: Ekstensi MySQLi terinstal secara otomatis dalam banyak kasus, saat paket mysql php5 diinstal.

Untuk detail instalasi, kunjungi: http://php.net/manual/en/mysqli.installation.php

Instalasi PDO

Untuk detail instalasi, kunjungi: http://php.net/manual/en/pdo.installation.php

Buka Koneksi ke MySQL

Sebelum kita dapat mengakses data di database MySQL, kita harus dapat terhubung ke server:

Contoh (MySQLi Object-Oriented) :

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Buat Koneksi
$conn = new mysqli($servername, $username, $password);

// Periksa Koneksi
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

Catatan tentang contoh berorientasi objek di atas:

$connect_error rusak hingga PHP 5.2.9 dan 5.3.0. Jika perlu untuk memastikan kompatibilitas dengan versi PHP sebelum 5.2.9 dan 5.3.0, gunakan kode berikut sebagai gantinya:

// Periksa koneksi
if (mysqli_connect_error()) {
  die(“Database connection failed: ” . mysqli_connect_error());
}

Contoh (MySQLi Prosedural) :

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Buat Koneksi
$conn = mysqli_connect($servername, $username, $password);

// Periksai Koneksi
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

Contoh (PDO) :

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  // mengatur mode kesalahan PDO ke exceptions
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
?>

Catatan: Dalam contoh PDO di atas kita akan menentukan database (myDB). PDO membutuhkan database yang valid untuk terhubung. Jika tidak ada database yang ditentukan, exceptions akan dilempar.

Tip: Manfaat besar dari PDO adalah memiliki kelas exceptions untuk menangani masalah apa pun yang mungkin terjadi dalam kueri database kami. Jika exceptions dilempar dalam blok try {}, skrip berhenti mengeksekusi dan mengalir langsung ke blok catch () {} pertama.

Tutup Koneksi

Koneksi akan ditutup secara otomatis saat skrip berakhir. Untuk menutup koneksi sebelumnya, gunakan yang berikut ini:

Berorientasi Objek MySQLi:

$conn->close();

MySQLi Prosedural:

mysqli_close($conn);

PDO:

$conn = null;

You may also like