Koneksi Database MySQL dengan PHP
20 Jun 2025
Penjelasan tentang Koneksi Database MySQL dengan PHP.
A. Pengertian
Koneksi database MySQL dengan PHP adalah proses menghubungkan aplikasi web yang dibuat menggunakan bahasa pemrograman PHP dengan database MySQL. Tujuannya adalah agar aplikasi web dapat menyimpan, mengambil, mengubah, dan menghapus data dari database secara dinamis.
PHP bekerja di sisi server, sedangkan MySQL berperan sebagai sistem manajemen basis data. Dengan menghubungkan keduanya, developer dapat menciptakan website yang interaktif, seperti sistem login, form registrasi, sistem komentar, katalog produk, dan lainnya.
B. Cara Kerja
Cara kerja koneksi database antara PHP dan MySQL adalah sebagai berikut:
- Pengguna mengakses halaman web yang membutuhkan interaksi dengan database, misalnya form login.
- PHP menerima data dari pengguna (biasanya melalui form HTML).
- PHP membuat koneksi ke server database MySQL menggunakan kredensial yang sudah ditentukan (host, user, password, dan nama database).
- PHP menjalankan perintah SQL (seperti SELECT, INSERT, UPDATE, atau DELETE) ke database.
- MySQL memproses perintah tersebut, dan mengembalikan hasilnya ke PHP.
- PHP menampilkan data atau hasilnya ke halaman web dalam format HTML.
C. Tujuan
Tujuan utama dari koneksi database MySQL dengan PHP adalah:
- Agar data dapat disimpan secara permanen di dalam database.
- Untuk mengambil dan menampilkan data kepada pengguna.
- Untuk memproses data secara dinamis, misalnya mencari informasi, melakukan login, menampilkan daftar produk, dsb.
- Untuk memanipulasi data (tambah, ubah, hapus) secara efisien melalui halaman web.
D. Struktur Umum Koneksi
Koneksi database di PHP umumnya dibuat menggunakan dua metode utama, yaitu:
a. Menggunakan MySQLi (MySQL Improved)
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "namadatabase";
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
echo "Koneksi berhasil!";
?>
b. Menggunakan PDO (PHP Data Objects)
<?php
$host = "localhost";
$dbname = "namadatabase";
$user = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $user, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Koneksi berhasil!";
} catch(PDOException $e) {
echo "Koneksi gagal: " . $e->getMessage();
}
?>
E. Komponen yang Diperlukan
Beberapa komponen utama dalam membuat koneksi ke MySQL dari PHP meliputi:
- Host: Alamat server database, biasanya
localhost
jika database berada di server yang sama dengan aplikasi. - Username: Nama pengguna untuk masuk ke MySQL, biasanya
root
di localhost. - Password: Kata sandi untuk pengguna database tersebut.
- Database Name: Nama database yang akan digunakan oleh aplikasi.
F. Contoh Penggunaan
Setelah koneksi dibuat, PHP bisa menjalankan perintah-perintah SQL. Contoh:
Insert Data
$sql = "INSERT INTO users (nama, email) VALUES ('Andi', 'andi@mail.com')";
$conn->query($sql);
Select Data
$result = $conn->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
echo $row["nama"] . " - " . $row["email"] . "<br>";
}
G. Kelebihan
Menghubungkan PHP dengan MySQL memiliki beberapa kelebihan, antara lain:
- Mudah digunakan: Sintaks dan cara kerjanya mudah dipahami, terutama untuk pemula.
- Gratis dan open-source: Tidak memerlukan biaya lisensi, bisa digunakan secara bebas.
- Banyak digunakan di web hosting: Hampir semua layanan hosting mendukung PHP dan MySQL.
- Dinamis dan fleksibel: Data dapat ditampilkan dan dimanipulasi secara real-time.
- Aman jika dikonfigurasi dengan benar: Dengan penggunaan prepared statements, sistem dapat terlindung dari serangan SQL Injection.
H. Kekurangan
Meskipun sangat populer, koneksi PHP dan MySQL juga memiliki beberapa kekurangan:
- Rentan terhadap SQL Injection jika tidak menggunakan teknik pengamanan seperti prepared statements.
- Kurang cocok untuk sistem skala besar jika tidak dikombinasikan dengan optimasi.
- Perlu penanganan error manual agar pesan kesalahan tidak membocorkan informasi penting kepada pengguna.
mysqli
hanya mendukung MySQL sedangkan PDO lebih fleksibel karena bisa digunakan untuk berbagai jenis database seperti PostgreSQL, SQLite, dll.
I. Tips Keamanan
Beberapa tips keamanan penting saat membuat koneksi PHP dan MySQL:
- Gunakan prepared statements untuk menghindari SQL Injection.
- Jangan tampilkan error MySQL langsung ke user.
- Gunakan user database dengan hak akses terbatas, bukan
root
di lingkungan produksi. - Simpan konfigurasi database di file terpisah yang tidak dapat diakses langsung dari browser.
J. Kesimpulan
Koneksi database MySQL dengan PHP merupakan komponen penting dalam pengembangan web modern. Dengan memahami cara menghubungkan PHP dan MySQL, kita dapat membangun aplikasi web dinamis yang mampu menyimpan dan memproses data pengguna.
Koneksi ini mudah dipelajari dan banyak didukung oleh penyedia hosting. Namun, keamanan dan efisiensi tetap harus diperhatikan, terutama saat aplikasi digunakan secara luas.