Pilih Laman

sumber : https://www.hostinger.co.id/tutorial/koneksi-database-php/

Cara Membuat Koneksi PHP ke Database MySQL

Pengenalan

Apakah saat ini Anda sedang mempelajari pengembangan website? Jika ya, maka tutorial ini cocok untuk Anda. Melalui panduan ini, Anda akan mempelajari cara membuat koneksi database PHP. Koneksi tersebut diperlukan jika Anda ingin memodifikasi, melihat, menghapus, atau bahkan mengelola tabel yang telah Anda dibuat dengan cara lain.

Yang Anda Butuhkan

Agar tutorial ini dapat dipahami dengan baik, sebaiknya Anda:

  • Login ke control panel hosting

Langkah 1 – Membuat Database MySQL

Langkah ini wajib diperhatikan jika Anda belum membuat database MySQL. Di Hostinger, database MySQL dapat dibuat dengan mudah di MySQL Databases. Untuk informasi selengkapnya mengenai cara membuat database MySQL, silakan baca tutorial ini.Database MySQL di Control Panel Hostinger

Buka MySQL Databases, kemudian masukkan informasi yang diperlukan, lalu klik tombol Create.Login ke Control Panel Hostinger untuk Membuat Database MySQL

PENTING: Catat informasi database MySQL yang Anda masukkan. Informasi tersebut akan dibutuhkan di langkah selanjutnya.

Langkah 2 – Menuliskan Kode PHP untuk Membuat Koneksi Database PHP MySQL

Kami akan membuat koneksi ke databse dengan nama u266072517_name dan database kami ini memiliki associated user u266072517_user. Selain itu, Anda juga harus membuat password. Sebagai contoh, password kami adalah buystuffpwd. 

Satu hal lagi yang jangan sampai Anda lupakan adalah memasukkan servername atau hostname yang benar. Di Hostinger, hostname dapat ditemukan di MySQL Database. Sebagai contoh, hostname kami adalah mysql.hostinger.com.

Umumnya, ketika membuat koneksi lokal ke database (script yang terkoneksi ke database di-upoad ke server, tempat database berada), Anda dapat menggunakan localhost. Jika cara tersebut tidak berhasil, atau jika Anda membuat koneksi ke database dari lokasi yang jauh atau remote (misalnya, komputer), maka sebaiknya gunakan alamat IP server. Untuk informasi selengkapnya, hubungi penyedia hosting Anda guna mendapatkan informasi yang benar terkait hostname.

Ada dua cara untuk membuat koneksi database PHP, yaitu dengan MySQLi dan PDO.  Kedua metode ini ternyata mendukung ‘prepared statements’ yang dapat menghapus ability untuk SQL injection attacts ketika terjadi perubahan di database. Fungsi ‘mysql_’ yang original bersifat deprecated dan tidak dapat digunakan karena tidak aman dan tidak lagi diperbarui atau dikembangkan.

MySQLi merupakan singkatan dari MySQL Improved dan secara spesifik berfungsi untuk menambahkan fitur baru ke interface MySQL. Sementara itu, PDO adalah singkatan dari PHP Data Object. Perbedaan utama antara PDO dan MySQLi adalah PDO mendukung sejumlah tipe database yang berbeda (MySQL, MS SQL, Postgre DB) dalam script yang sama, tetapi Anda hanya bisa sekali menulis data terkait fungsi. PDO bersifat ‘object oriented’, koneksi ke database dibangun dengan membuat berbagai objek. Berikut contoh membuat objek baru:

  1. $my_Object = new OBJECT();

MySQLi

Di bawah ini merupakan contoh kode PHP dasar yang dapat digunakan untuk membuat koneksi ke database MySQL dengan MySQLi:

  1. <?php
  2. $servername = “mysql.hostinger.com”;
  3. $database = “u266072517_name”;
  4. $username = “u266072517_user”;
  5. $password = “buystuffpwd”;
  6. // Create connection
  7. $conn = mysqli_connect($servername, $username, $password, $database);
  8. // Check connection
  9. if (!$conn) {
  10. die(“Connection failed: “ . mysqli_connect_error());
  11. }
  12. echo “Connected successfully”;
  13. mysqli_close($conn);
  14. ?>

Metode utama yang digunakan dalam script ini adalah mysqli_connect(). Metode ini merupakan fungsi internal PHP yang selengkapnya bisa Anda baca di sini.

Di depan kode, terdapat berbagai declaration dan value yang di-assign ke variabel tersebut. Umumnya kami memutuhkan empat variabel untuk membuat koneksi: $servername, $database, $username dan $password. Pada kode, kami telah memasukkan informasi database yang tepat sebagai value dan variabel, dan selanjutnya di dalam fungsi mysqli_connect(), kami menggunakan variabel tersebut untuk diteruskan ke fungsi.

Kemudian ada fungsi mysqli_connect() yang digunakan untuk membuat koneksi ke database dengan memanfaatkan informasi yang telah dimasukkan, dan bagian kode selanjutnya dijalankan berdasarkan keberhasilan fungsi mysqli_connect(). Apabila koneksi gagal dibuat, maka pesan seperti ini akan ditampilkan:

  1. if ($conn->connect_error) {
  2. die(“Connection failed: “ . $conn->connect_error);
  3. }

Fungsi die() dijalankan di sini, yang pada dasarnya membunuh script kami dan membuat pesan di atas muncul. Dengan demikian, Connection failed: menjadi pesan default yang akan muncul bilamana terjadi error sehingga kami dapat mencari penyebabnya dan mengatasinya.

Apabila koneksi berhasil dibuat, maka kode selanjutnya yang akan dijalankan:

  1. echo “Connected successfully”;

Kode di atas akan menampilkan pesan koneksi berhasil dibangun. Pada pesan sebelumnya tertulis statement IF yang menyatakan adanya kegagalan tertentu.

Kode terakhir:

  1. mysqli_close($conn);

Kode di atas berfungsi untuk menutup koneksi ke database secara manual. Apabila Anda lupa atau tidak memasukkan kode di atas, maka koneksi akan terhenti dengan sendirinya segera setelah script berhenti. Anda dapat menggunakan baris kode ini untuk menghentikan koneksi sebelum script berakhir.

Buka script melalui domain dan jalankan kode di atas.

PDO

Koneksi database PDO mengharuskan Anda untuk membuat ‘PDO object’ baru dengan Data Source Name (DSN), username, dan password. Masukkan tipe database, nama database, dan informasi lainnya yang diperlukan ke dalam DSN. DSN bisa menjadi variabel yang sangat sederhana dan dapat digunakan sebagai parameter ketika Anda ingin membuat PDO object yang aktual, seperti yang ditunjukkan pada kode di bawah ini.

PDO mendukung berbagai tipe database. Sementara itu, DSN adalah tempat di mana Anda membuat koneksi alternatif, mengganti lline ‘mysql:’ dengan syntax untuk database lain. Pada script yang real, Anda dapat memperbolehkan user lain untuk memilih koneksi yang akan digunakan dan menulis kode untuk variabel DSN yang diperlukan. Di tutorial ini, kami hanya menggunakan MySQL.

Pada saat membuat PDO object yang merepresentasikan koneksi database, Anda bisa menuliskan kode ‘try… catch…’. Script akan mencoba membuat koneksi dengan kode yang telah dibuat. Apabila terjadi error, kode ‘catch’ akan dijalankan. Catch block tersebut dapat digunakan untuk menampilkan pesan error atau menjalankan kode alternatif. Misalnya, pesan error ditampilkan agar Anda tahu persisnya informasi yang salah.

  1. <?php
  2. $servername = “mysql.hostinger.com”;
  3. $username = “u266072517_user”;
  4. $database = “u266072517_name”;
  5. $password = “buystuffpwd”;
  6. // Create a new connection to the MySQL database using PDO
  7. $conn = new mysqli($servername, $username, $password);
  8. // Check connection
  9. if ($conn->connect_error) {
  10. die(“Connection failed: “ . $conn->connect_error);
  11. }
  12. echo “Connected successfully”;
  13. ?>

Langkah 3 – Mengecek Koneksi dan Mengatasi Error

Ketika membuka script website, pesan ini akan ditampilkan yang menyatakan bahwa kode koneksi PHP berhasil dijalankan dan tak ada masalah terkait koneksi yang dibangun.

Koneksi database PHP berhasil

Mengatasi Error Koneksi PHP ke MySQL

Tentunya tampilan akan berbeda jika koneksi gagal dibuat. Error di MySQLi berbeda dengan error pada PDO.

Error jika salah memasukkan password

Misalnya, jika kita mengubah password di kode PHP (tetapi password database sama sekali tidak diubah).

Error di MySQLi:

Gagal membuat koneksi database PHP MySQL

Error di PDO:

Koneksi PHP PDO Gagal

Apabila Anda melihat pesan seperti ini, cek informasi database terlebih dulu. Kemungkinan error tersebut terjadi karena tidak adanya user yang di-assign ke database. Jika Anda login ke control panel Hostinger, maka tampilan MySQL Databases akan seperti ini:Informasi Database MySQL di Hostinger

Sebaliknya, jika Anda login ke cPanel, maka tampilan database akan seperti ini:Informasi Database MySQL di cPanel

 

Koneksi Gagal ke server MySQL

Di MySQLi:

Pesan Error membuat koneksi PHP ke MySQL

Bila Anda memperoleh notifikasi Can’t connect to MySQL server on ‘server’ (110), maka itu berarti script tidak mendapatkan respons dari server. Hal ini terjadi karena bukannya localhost, kami malah set server sebagai servername, dan nama ini tidak dapat dikenali.

Di PDO:

Host PHP PDO Gagal

  • [HY000] berarti general error.
  • [2002] berarti Can’t connect to local MySQL server. Bagian pesan lainnya menghadirkan informasi yang lebih detail, memberitahukan bahwa ‘host’ tidak ditemukan.

Jangan lupakan golden rule-nya jika ingin mengatasi error: checking error_log.

Error_log terletak di folder yang sama di mana script dijalankan. Misalnya, jika kita menjalankan script di public_html, maka file error_log terletak di dalam foder yang sama.

Di dalam folder tersebut, Anda akan melihat semua error yang biasanya dibuat oleh script. Informasi tersebut bisa Anda gunakan untuk mengatasi masalah yang muncul.

Kesimpulan

Melalui tutorial ini, Anda telah mempelajari pengetahuan dasar tentang database dan cara membuat koneksi database PHP dengan MySQLi dan PHP Data Objects (PDO). Informasi yang didapatkan di tutorial ini bisa Anda manfaatkan jika ingin mengembangkan script dan melakukan konfigurasi. Ingatlah untuk membuat koneksi ke database terlebih dulu karena ini adalah langkah pertama dan terutama.