Tutorial PHP

RUMAH PHP Pengenalan PHP Instal PHP Sintaks PHP Komentar PHP Variabel PHP PHP Gema / Cetak Tipe Data PHP String PHP Nomor PHP PHP Matematika Konstanta PHP Operator PHP PHP Jika...Lain...Elseif Beralih PHP PHP Loop Fungsi PHP Array PHP PHP Superglobal PHP RegEx

Formulir PHP

Penanganan Formulir PHP Validasi Formulir PHP Diperlukan Formulir PHP URL/Email Formulir PHP Formulir PHP Lengkap

PHP Lanjutan

Tanggal dan Waktu PHP PHP Termasuk Penanganan File PHP File PHP Buka/Baca Membuat/Menulis File PHP Unggah File PHP Cookie PHP Sesi PHP Filter PHP Filter PHP Tingkat Lanjut Fungsi Panggilan Balik PHP PHP JSON Pengecualian PHP

PHP OOP

PHP Apa itu OOP Kelas/Objek PHP Konstruktor PHP Penghancur PHP Pengubah Akses PHP Warisan PHP Konstanta PHP Kelas Abstrak PHP Antarmuka PHP Ciri-ciri PHP Metode Statis PHP Properti Statis PHP Ruang Nama PHP PHP Iterable

Database MySQL

Database MySQL Koneksi MySQL MySQL Buat DB MySQL Buat Tabel MySQL Sisipkan Data MySQL Dapatkan ID Terakhir MySQL Sisipkan Beberapa MySQL Disiapkan MySQL Pilih Data MySQL Dimana MySQL Dipesan Oleh MySQL Hapus Data Data Pembaruan MySQL Data Batas MySQL

PHP XML

PHP XML Parser PHP SimpleXML Parser PHP SimpleXML - Dapatkan PHP XML Ekspat PHP XML DOM

PHP - AJAX

Pengenalan AJAX AJAX PHP Basis Data AJAX AJAX XML Pencarian Langsung AJAX Jajak Pendapat AJAX

Contoh PHP

Contoh PHP Kompilator PHP Kuis PHP Latihan PHP Sertifikat PHP

Referensi PHP

Ikhtisar PHP Array PHP Kalender PHP Tanggal PHP Direktori PHP Kesalahan PHP Pengecualian PHP Sistem File PHP Filter PHP PHP FTP PHP JSON Kata Kunci PHP PHP Libxml Surat PHP PHP Matematika PHP Lain-lain PHP MySQLi Jaringan PHP Kontrol Keluaran PHP PHP RegEx PHP SimpleXML Aliran PHP String PHP Penanganan Variabel PHP PHP XML Parser PHP Zip Zona Waktu PHP

PHP Terhubung ke MySQL


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.


Haruskah Saya Menggunakan MySQLi atau PDO?

Jika Anda membutuhkan jawaban singkat, itu akan menjadi "Terserah Anda".

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 Anda harus mengganti proyek Anda untuk menggunakan database lain, PDO mempermudah prosesnya. Anda hanya perlu mengubah string koneksi dan beberapa kueri. Dengan MySQLi, Anda perlu menulis ulang seluruh kode - termasuk kueri.

Keduanya berorientasi objek, tetapi MySQLi juga menawarkan API prosedural.

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


Contoh MySQL di Sintaks MySQLi dan PDO

Dalam hal ini, dan dalam bab-bab berikutnya kami mendemonstrasikan tiga cara bekerja dengan PHP dan MySQL:

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

Instalasi MySQLi

Untuk Linux dan Windows: Ekstensi MySQLi diinstal secara otomatis dalam banyak kasus, ketika paket php5 mysql 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";

// Create connection
$conn = new mysqli($servername, $username, $password);

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

Perhatikan contoh berorientasi objek di atas:

$connect_error rusak hingga PHP 5.2.9 dan 5.3.0. Jika Anda perlu 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 (Prosedural MySQLi)

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

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
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);
  // set the PDO error mode to exception
  $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 kami juga telah menetapkan database (myDB) . PDO memerlukan database yang valid untuk terhubung. Jika tidak ada database yang ditentukan, pengecualian dilemparkan.

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


Tutup Koneksi

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

Berorientasi Objek MySQLi:

$conn->close();

Prosedur MySQLi:

mysqli_close($conn);

PDO:

$conn = null;