Belajar PHP & MySQL #5: Koneksi PHP ke MySQL

Heru Iryanto
Heru Iryanto
Teacher, Content Creator and Full-Stack Developer

Di pelajaran MySQL (Sistem Database), Anda telah berhasil membuat database raksasa bernama db_perpustakaan menggunakan antarmuka phpMyAdmin. Anda juga sudah bisa memasukkan data buku menggunakan terminal SQL.

Akan tetapi, di dunia nyata, pengguna tidak berinteraksi lewat terminal SQL atau phpMyAdmin. Mereka menggunakan antarmuka cantik berdesain Bootstrap Anda (Toko Online / Blog). Pertanyaannya: Bagaimana caranya agar bahasa PHP (Sang Penghubung Logika) bisa mengetuk pintu dan menembus masuk ke dalam brankas MySQL?

1️⃣ Mengetuk Pintu Database (mysqli_connect)

Kita membutuhkan sebuah fungsi bawaan khusus dari PHP bernama mysqli_connect(). Fungsi ini meminta 4 buah password/kunci agar pintunya bisa terbuka:

  1. Hostname (Alamat Gedung): Karena mesin MySQL kita berjalan di aplikasi XAMPP (komputer sendiri), maka alamat gedungnya mutlak adalah "localhost".
  2. Username (Nama Resepsionis): Secara bawaan (default) jika Anda menggunakan XAMPP, nama resepsionis MySQL-nya adalah mutlak "root".
  3. Password (Kata Sandi): Secara bawaan XAMPP, mesin MySQL tidak memiliki password sama sekali. Jadi biarkan stringnya kosong mutlak "".
  4. Database Name (Nama Ruang Laci): Ingat database yang kita buat di materi sebelumnya? Namanya adalah "db_perpustakaan". (Sesuaikan dengan nama database yang pernah Anda buat di phpMyAdmin!).

2️⃣ Menulis Script Koneksi (koneksi.php)

Biasakan memisahkan logika ini ke dalam file khusus, misalnya buat folder perpustakaan dan file bernama koneksi.php. Kenapa? Karena nantinya file ini akan selalu dipakai di seluruh halaman web kita (Halaman Login, Halaman Tampil Data, Halaman Tambah, Halaman Edit, Halaman Hapus, dll). Daripada menulis ulang baris koneksi ini ratusan kali, lebih baik kita panggil 1 file ini berulang-ulang menggunakan perintah (include).

Buat folder perpustakaan dan file koneksi.php di dalamnya, dan ketikkan mantra ini:

<?php
  // 1. Simpan keempat kunci ke dalam variabel
  $host = "localhost";
  $user = "root";
  $pass = "";
  $db_name = "db_perpustakaan";

  // 2. Colokkan kabel penghubung menggunakan fungsi mysqli_connect
  // Simpan hasil "Kabel Tersambung" ini ke dalam kardus sakti bernama $koneksi
  $koneksi = mysqli_connect($host, $user, $pass, $db_name);

  // 3. Pemasangan Alarm Kegagalan (Sangat Penting!)
  // Jika mesin gagal menancapkan kabel (karena XAMPP belum menyala, dsb)...
  if (!$koneksi) {
      // Hentikan sistem (die) dan cetak laporan errornya
      die("Bencana! Koneksi ke Database Gagal total karena: " . mysqli_connect_error());
  } 

  // (Opsional) Jika berhasil:
  echo "Alhamdulillah, kabel berhasil menancap ke MySQL!";
?>

Pastikan kamu sudah membuat database dengan nama db_perpustakaan di phpMyAdmin! Jika belum, silakan buat terlebih dahulu dengan mengikuti langkah-langkah berikut:

Buka browser Anda dan ketik alamat: http://localhost/phpmyadmin

  • Klik New di pojok kiri atas
  • Masukkan nama database db_perpustakaan
  • Klik Create

3️⃣ Menguji Jembatan

Untuk menguji apakah file koneksi.php berhasil membuka pintu database, silakan buka browser Anda dan ketikkan alamat: http://localhost/belajar_php/perpustakaan/koneksi.php.

  • Jika layar berwarna putih kosong (Atau muncul tulisan “Alhamdulillah, kabel berhasil menancap ke MySQL!”), berarti Selamat! Sistem Database Anda sudah berhasil disusupi oleh PHP!
  • Jika muncul peringatan panjang “Warning: mysqli_connect(): (HY000/1049): Unknown database ‘db_perpustakaan’”, ini berarti Anda belum mempraktekkan kelas MySQL dan belum membuat database dengan nama tersebut di phpMyAdmin! Cepat buka phpMyAdmin dan buat databasenya!

🗽 Kesimpulan

Variabel sakti $koneksi di atas jangan pernah dihapus. Ia adalah tiket masuk VIP. Mulai dari selanjutnya, setiap kali kita ingin melempar mantra SQL (Seperti SELECT * atau INSERT), kita akan selalu menyertakan variabel $koneksi tersebut sebagai identitas bahwa “Pintu ini resmi!”.

Kabel sudah tertancap kuat. Sekarang, mari kita coba menyedot puluhan data buku dari dalam brankas MySQL tersebut dan meriasnya di layar depan menggunakan bantuan logika perulangan di Operasi Read (Menampilkan Data).