Cara Membuat Koneksi PHP ke Database MySQL
access_time
hourglass_empty
person_outline

Cara Membuat Koneksi PHP ke Database MySQL

Dengan mengetahui cara menggunakan script PHP dan menghubungkannya ke MySQL, Anda bisa memodifikasi, melihat, atau bahkan mengelola tabel yang dibuat di database MySQL. Di artikel ini, kami akan membahas cara membuat koneksi database PHP ke MySQL. Artikel ini juga sangat berguna bagi user baru yang ingin mendalami seluk-beluk pengembangan web (web development).

Nikmati serunya DISKON web hosting hingga 90%!

Beli Sekarang

Membuat Database MySQL (Opsional)

Bagian ini hanya untuk user yang belum memiliki database MySQL. Untuk user yang berlangganan Hostinger, database MySQL dapat dibuat melalui hPanel. Berikut langkah-langkahnya:

  1. Cari dan buka menu Database MySQL yang ada di bagian Database.
  2. Lengkapi informasi yang diminta, lalu klik Create.

Buat database MySQL

Perlu diingat, database baru yang dibuat masih kosong. Anda harus menambahkan data sebelum memanipulasinya.

Catat informasi (credential) database MySQL yang sudah dibuat untuk digunakan di langkah selanjutnya. Pun jangan sampai lupa username database dan password username!

Dua Cara Membuat Koneksi Database PHP ke MySQL

Ada dua cara untuk membuat koneksi ke database MySQL dengan PHP, yaitu menggunakan MySQLi dan PDO.

MySQLi merupakan singkatan dari MySQL Improved. Ekstensi MySQL ini menambahkan fitur baru di interface database MySQL. MySQLi bersifat prosedural dan juga berorientasi objek, di mana siftat prosedural adalah atribut yang diwariskan dari versi MySQL yang lebih lama.

MySQL versi awal membagi task ke dalam satu prosedur bertahap (langkah demi langkah) dan saling berhubungan. Tindakan modifikasi akan semakin sulit karena kode harus diubah dari bagian paling pertama. Di sisi lain, MySQLi melihat data sebagai satu set objek yang dapat ditukarkan dan memiliki fungsi serta memperbolehkan pengguna untuk menambah atau menghapus data.

PDO adalah singkatan dari PHP Data Object. Lain halnya dengan MySQLi, PDO justru berorientasi hanya pada objek dan mendukung sejumlah tipe database yang menggunakan PHP, seperti MySQL, MSSQL, Informix, dan PostgreSQL.

Fungsi mysql_ sudah usang dan tidak boleh lagi digunakan karena tidak aman serta tidak pernah lagi dipelihara (maintainance) atau dikembangkan.

Salah satu fungsi penting yang juga didukung oleh MySQLi dan PDO adalah prepared statements. Fungsi ini akan mempercepat waktu yang dibutuhkan oleh MySQL untuk menjalankan query yang sama berkali-kali. Prepared statement juga berfungsi untuk mencegah terjadinya serangan injeksi SQL ketika menjalankan perubahan di database.

Bagaimanapun metode dan cara yang Anda gunakan, pastikanlah informasi yang diberikan benar dan valid adanya sehingga Anda bisa membuat koneksi database PHP MySQL. Informasi yang dimaksud di sini adalah informasi database MySQL yang sudah Anda catat dan simpan sebelumnya.

Untuk konfigurasi, Anda juga memerlukan nama server atau hostname. Hostname untuk server MySQL Hostinger adalah “localhost“. Secara umum, nama server merupakan nama yang digunakan bila Anda hendak mengunggah script PHP sebagai database ke server yang sama.

Apabila Anda ingin membuat koneksi ke database dari lokasi remote (misalnya, komputer), gunakanlah alamat IP server MySQL. Untuk mendapatkan informasi lengkap mengenai alamat IP ini, hubungi provider hosting Anda. Nantinya mereka akan memberi tahu hostname yang harus digunakan.

Menggunakan MySQLi untuk Membuat Koneksi PHP ke MySQL

Empat langkah menggunakan MySQLi untuk membuat koneksi database PHP ke MySQL:

  1. Buka File Manager -> public_html.
  2. Buat File Baru dengan mengklik ikon tambah file pada menu di atas layar.
  3. Simpan dengan nama databaseconnect.php, atau nama lain yang Anda inginkan, tapi ekstensinya tetap .php.
  4. Salin dan letakkan barisan kode di bawah ini ke file tersebut. Klik dua kali untuk membukanya. Pastikan Anda sudah mengganti empat value pertama yang ada di bawah <?php dengan informasi (credential) yang dicatat sebelumnya.
<?php
$servername = "localhost";
$database = "databasename";
$username = "username";
$password = "password";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if (!$conn) {

    die("Connection failed: " . mysqli_connect_error());

}
echo "Connected successfully";
mysqli_close($conn);
?>

Tentang Kode MySQLi

Fungsi utama yang digunakan di script ini adalah mysqli_connect(). Fungsi ini merupakan bagian internal PHP untuk membuat koneksi baru ke server MySQL.

Pada barisan kode di atas, di bagian awalnya terdapat deklarasi variabel serta value yang ditentukan untuk variabel ini. Biasanya ada empat variabel untuk pembuatan koneksi database: $servername, $database, $username, dan $password. Informasi database ditetapkan sebagai value untuk keempat variabel tersebut sehingga dapat dikirimkan ke fungsi.

Apabila koneksi tidak berhasil dibuat, fungsi die() akan dijalankan. Fungsi ini akan menghentikan jalannya script dan menampilkan pesan yang memberitahukan bahwa telah terjadi kesalahan koneksi. Secara default, notifikasi koneksi MySQL error akan memunculkan pemberitahuan singkat Connection failed yang kemudian diikuti dengan pesan yang mendeskripsikan kesalahan (error) tersebut.

Namun di sisi lain, apabila koneksi ke MySQL berhasil dibuat, kode akan menampilkan pesan Connected successfully (berhasil terhubung).

Bagian terakhir dari barisan kode di atas adalah mysqli_close. Fungsi ini akan menutup koneksi ke database secara manual. Jika tidak ditetapkan sebelumnya, koneksi MySQL akan berhenti sendiri setelah script selesai dijalankan.

Menggunakan PDO untuk Membuat Koneksi PHP ke MySQL

Cara kedua untuk membuat koneksi database PHP ke MySQL adalah dengan PDO. Langkahnya hampir sama dengan MySQLi meskipun ada sedikit perbedaan:

  1. Pada folder public_html, buat file yang akan diberi nama pdoconfig.php. Masukkan kode di bawah ini ke dalam file tersebut. Ganti value placeholder dengan informasi database yang sudah Anda buat dan catat sebelumnya. Klik Save and Close kalau sudah selesai.
<?php
    $host = 'localhost';
    $dbname = 'databasename';
    $username = 'username';
    $password = 'password';
  1. Pada direktori yang sama, buat file lain dan beri nama databaseconnect.php. Tambahkan kode di bawah ini. Jika file sebelumnya diberi nama lain (bukan pdoconfig.php), ganti value yang ada di require_once.
<?php
require_once 'pdoconfig.php';

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    echo "Connected to $dbname at $host successfully.";
} catch (PDOException $pe) {
    die("Could not connect to the database $dbname :" . $pe->getMessage());
}

Tentang Kode PDO

Koneksi database PDO mengharuskan Anda untuk membuat objek PDO baru yang dilengkapi dengan Data Source Name (DSN)Username, dan Password.

DSN mendeskripsikan tipe database, nama database, dan, jika dibutuhkan, informasi lain yang berkaitan dengan database. Informasi tersebut merujuk pada variabel dan juga value yang telah ditentukan di file dbconfig.php, ditandai oleh baris require_once yang ada di databaseconnect.php.

Pada barisan kode di subbab sebelumnya, di bagian bawah, terdapat kode try…catch. Arti dari kode ini adalah script akan mencoba (try) membuat koneksi ke MySQL mengunakan kode yang tersedia. Namun, apabila ada masalah, kode di bagian catch yang akan dijalankan. Anda bisa menggunakan catch block untk menampilkan pesan koneksi bermasalah atau menjalankan kode alternatif jika try block gagal.

Apabila koneksi berhasil dibuat, pesan yang muncul adalah “Connected to $dbname at $host successfully.” Namun, jika percobaannya gagal, kode catch akan menampilkan pesan error dan memberhentikan script.

Mengecek Konektivitas dan Mengatasi Kesalahan Umum (Error) yang Sering Terjadi

Untuk mengecek apakah koneksi berhasil dibuat atau justru gagal, ketik domain, misalnya, namadomainanda/databaseconnect.php di kolom browser. Oh, ya! Jika file PHP-nya diberi nama lain selain dari contoh yang kami berikan, ganti databaseconnect dengan nama tersebut.

Nantinya Anda akan melihat pesan singkat “Connected successfully” atau pesan sejenis lainnya apabila koneksi berhasil dibuat dan dijalankan.

Akan tetapi, jika koneksi gagal dibuat, pesan yang ditampilkan berbeda. Tampilan pesan error untuk MySQLi tidak akan sama dengan pesan error untuk PDO.

Error Karena Memasukkan Password yang Salah

Error atau kesalahan ini terjadi apabila Anda hanya mengubah password atau informasi lainnya di kode PHP dan tidak di database.

Jika ada pesan “Access denied” atau “Could not connect to database” yang muncul dan diikuti dengan “(using password: YES)”, hal pertama yang harus dilakukan adalah mengecek informasi di database. Bisa saja terjadi salah ketik atau ada bagian yang hilang.

Tidak Dapat Membuat Koneksi Database PHP ke Server MySQL

Apabila ada pesan “Can’t connect to MySQL server di ‘server’ (110)” yang muncul di MySQLi, itu berarti script tidak mendapat respons dari server. Hal ini terjadi karena Anda menggunakan “server” sebagai $servername, bukannya “localhost”. Nama ini tidak dikenali.

Di PDO, pesan error yang muncul adalah “Connection failed:SQLSTATE[Hy000] [2002]” dan diikuti dengan informasi lainnya yang memberitahukan bahwa host MySQL tidak ditemukan. Cara mengatasi error ini sama seperti di atas.

Ingatlah hal ini: ketika terjadi error dan Anda hendak mengatasinya, cek error log situs.

Log tersimpan di folder yang sama dengan folder script yang sedang dijalankan. Misalnya, script yang sedang dijalankan berasal dari folder public_html, file error_log juga akan berada di folder tersebut.

Kesimpulan

Di tutorial ini, Anda telah mempelajari hal-hal dasar mengenai pembuatan koneksi database PHP ke MySQL menggunakan MySQLi dan PHP Data Objects (PDO).

Semoga tutorial ini bermanfaat bagi mereka yang ingin serius di bidang pengembangan web. Akhir kata, membuat koneksi PHP ke MySQL adalah langkah pertama dan paling penting jika Anda hendak menggunakan script dan melakukan konfigurasi tingkat lanjut.

Silakan tinggalkan komentar atau kritik dan saran pada kolom di bawah ini.

Penulis

Author

Ariata C. / @ariata

Ariata suka sekali menulis dan menerjemahkan, dan sekarang ini bekerja sebagai translator di Hostinger Indonesia. Lewat artikel dan tutorial yang diterbitkan di blog Hostinger, Ariata ingin membagikan pengetahuan tentang website, WordPress, dan hal terkait hosting lainnya kepada para pembaca.

Tutorial pilihan

Tutorial terkait

Author

ARIO SURABUT Balas

March 09 2020

mau ingin tau tara membuat data bees mysql,web php, xammp,visual basic dll.

Ketik balasan

Komentar*

Nama*

Email*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Jadilah bagian dari Hostinger!