Membuat Koneksi Database MySQL dengan PHP dan Apache di FreeBSD

· 2 min read

mysqli_connect: Digunakan untuk membuat koneksi ke server basis data MySql. mysqli_query: Digunakan untuk mengirimkan pertanyaan SQL ke basis data MyS

PHP memiliki beberapa fungsi untuk menghubungkan dan berinteraksi dengan database. MySql Server. Yang paling umum dan sering digunakan oleh administrator sistem untuk membuat permintaan dari PHP ke database MySQL Server adalah:
  • mysqli_connect: Digunakan untuk membuat koneksi ke server basis data MySql.
  • mysqli_query: Digunakan untuk mengirimkan pertanyaan SQL ke basis data MySQL.
  • mysqli_close: Digunakan untuk menutup koneksi basis data.
Dalam fungsinya mysqli_connect harus menerima tiga parameter agar dapat terhubung ke database MySQL: alamat server (host), nama pengguna, dan kata sandi pengguna. Ketiga persyaratan ini berasal dari server MySQL, baik di server pribadi maupun layanan hosting. Setelah mysqli_connect menerima ketiga kondisi ini, maka ia akan mengembalikan data yang menjelaskan koneksi, yang kemudian akan diteruskan ke mysqli_query.

Lebih jauh, semua manipulasi database dilakukan dengan menggunakan berbagai query SQL melalui mysqli_query. Dengan menggunakan query SQL, Anda dapat membuat dan menghapus tabel, membuat pilihan data berdasarkan filter jenis tertentu, serta menambah dan menghapus baris. Dalam fungsinya mysqli_query menerima dua parameter:
  • Yang pertama adalah data yang menjelaskan koneksi (hasil dari mysqli_connect), dan
  • Yang kedua adalah kueri SQL dalam bentuk string sederhana.
Dalam artikel ini kita akan mempelajari cara menghubungkan file PHP ke database MySql Server. Sebelum kita melangkah lebih jauh, sebaiknya Anda membaca artikel yang terkait dengan materi yang akan kita pelajari sekarang.


1. Spesifikasi Sistem

  • OS: FreeBSD 13.2
  • IP Address: 192.168.5.2
  • Hostname: ns1
  • Apache24
  • mod dan extension PHP
  • MySQL: mysql80-server
  • php: php82
  • phpMyAdmin: phpMyAdmin5-php82

2. Membuat Database MySQL

Untuk memulai pelajaran ini, pastikan program Mysql server sudah terinstal di server FreeBSD, pada artikel ini kita menggunakan versi mysql80-server. Sebagai langkah awal agar lebih mudah dalam berlatih koneksi database dengan PHP, kita akan mulai dengan membuat database MySQL Server.

Sebelum memulai, pastikan script "bind-address" pada file "/usr/local/etc/mysql/my.cnf" sudah diubah ke IP private server FreeBSD, yaitu 192.168.5.2, seperti pada contoh di bawah ini.

root@ns1:~ # ee /usr/local/etc/mysql/my.cnf

[client]
port = 3306
socket = /tmp/mysql.sock

[mysql]
prompt = \u@\h [\d]>\_
no_auto_rehash

[mysqld]
user = mysql
port = 3306
socket = /tmp/mysql.sock
bind-address =
192.168.5.2
basedir = /usr/local
datadir = /var/db/mysql


a. Membuat user MySQL

Agar database MySQL dapat terhubung dengan PHP, diperlukan user database yang akan menjembatani MySQL dan PHP. User ini menyimpan informasi password dan berbagai informasi database MySQL. Berikut ini adalah contoh pembuatan user dengan MySQL.

root@ns1:~ # mysql -u root -p
Enter password:
router
root@localhost [(none)]>

Dalam skrip di atas, "router" adalah kata sandi root dari server MySQL yang telah diinstal pada komputer FreeBSD. Setelah kita berada di baris perintah MySQL, kita masuk ke basis data MySQL.

root@localhost [(none)]> use mysql;
Database changed
root@localhost [mysql]>
select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

root@localhost [mysql]>
Skrip pertama mengaktifkan basis data MySQL, sedangkan skrip kedua memeriksa pengguna yang aktif di basis data MySQL. Setelah itu, kita lanjutkan dengan membuat pengguna baru. Ketik perintah di bawah ini untuk membuat pengguna baru di server MySQL.

root@localhost [mysql]> CREATE USER 'semeru'@'192.168.5.2' IDENTIFIED BY 'gunungsemeru';
Query OK, 0 rows affected (0.05 sec)

root@localhost [mysql]>
GRANT SELECT ON *.* TO 'semeru'@'192.168.5.2';
Query OK, 0 rows affected (0.02 sec)

root@localhost [mysql]>
Deskripsi skrip di atas adalah untuk membuat user "semeru" dengan password "gunungsemeru" dan host "192.168.5.2". Untuk nama host, kita dapat menggantinya dengan nama host di file /etc/rc.conf. Dalam artikel ini server FreeBSD kita memiliki nama host "ns1". Berikut ini adalah cara membuat user dengan nama host "ns1".

root@localhost [mysql]> CREATE USER 'rinjani'@'ns1' IDENTIFIED BY 'gunungrinjani';
Query OK, 0 rows affected (0.05 sec)

root@localhost [mysql]>
GRANT SELECT ON *.* TO 'rinjani'@'ns1';
Query OK, 0 rows affected (0.03 sec)

root@localhost [mysql]>

b. Membuat database dan tabel di MySQL

Setelah kita mengetahui cara membuat pengguna di MySQL, mari kita lanjutkan dengan membuat database dan tabel. Berikut ini adalah skrip yang digunakan untuk membuat database di MySQL.

root@localhost [mysql]> CREATE DATABASE bromo;
Query OK, 1 row affected (0.05 sec)

root@localhost [mysql]>
CREATE DATABASE anjani;
Query OK, 1 row affected (0.04 sec)

root@localhost [mysql]>
Skrip di atas membuat database baru bernama "bromo" dan "anjani". Untuk melihat hasil pembuatan database, gunakan perintah di bawah ini.

root@localhost [mysql]> show databases;
+--------------------+
| Database |
+--------------------+
| anjani |
| bromo |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.01 sec)
Setelah berhasil membuat database, kita akan melanjutkan dengan membuat tabel. Berikut ini adalah perintah yang digunakan untuk membuat tabel di server MySQL.

root@localhost [mysql]> CREATE TABLE gunung ( namagunung VARCHAR(128), daerah VARCHAR(90), ketinggian VARCHAR(30));
Query OK, 0 rows affected (0.18 sec)
Script di atas akan membuat tabel baru yang bernama "gunung" dengan isi tabel "nama gunung", "luas" dan "ketinggian". Setelah itu, kita akan memasukkan data atau memasukkan data ke dalam tabel. Perintah di bawah ini digunakan untuk memasukkan data ke dalam tabel.

root@localhost [mysql]> INSERT INTO gunung VALUES('gunung semeru', 'Jawa Timur', '3676 m');
Query OK, 1 row affected (0.04 sec)

root@localhost [mysql]>
INSERT INTO gunung VALUES('gunung rinjani', 'NTB', '3726 m');
Query OK, 1 row affected (0.02 sec)

root@localhost [mysql]>
INSERT INTO gunung VALUES('gunung merbabu', 'Jawa Tengah', '3145 m');
Query OK, 1 row affected (0.02 sec)
Untuk melihat hasilnya, gunakan perintah di bawah ini.

root@localhost [mysql]> SHOW TABLES;
+------------------------------------------------------+
| Tables_in_mysql |
+------------------------------------------------------+
| columns_priv |
| component |
| db |
| gunung |
| servers |
| user |
+------------------------------------------------------+
38 rows in set (0.00 sec)


root@localhost [mysql]>
SELECT * FROM gunung;
+----------------+-------------+------------+
| namagunung | daerah | ketinggian |
+----------------+-------------+------------+
| gunung semeru | Jawa Timur | 3676 m |
| gunung rinjani | NTB | 3726 m |
| gunung merbabu | Jawa Tengah | 3145 m |
+----------------+-------------+------------+
3 rows in set (0.00 sec)
Untuk menguji atau mencoba hasil dari materi yang telah kita pelajari di atas, Anda dapat menggunakan "phpmyadmin". Cobalah login dengan user "semeru" dan "rinjani". Setelah berhasil login, di phpmyadmin buka database mysql, dan lihat hasilnya.


3. Membuat Koneksi Database MySQL Dengan PHP

a. Koneksi dengan mysqli

Sebelum Anda mempelajari bagian 3 lebih lanjut, pastikan spesifikasi sistem di atas telah terinstal pada server FreeBSD dan Anda juga telah membaca artikel yang kami rekomendasikan di atas. Oke, mari kita mulai dengan bagian 3 dari materi ini. Sebagai langkah pertama, kita akan menginstal aplikasi "php82-mysqli" dan "php82-pdo". Kedua aplikasi ini akan menghubungkan PHP dengan server MySQL.

root@ns1:~ # cd /usr/ports/databases/php82-mysqli/ && make install clean
root@ns1:/usr/ports/databases/php82-mysqli #
cd /usr/ports/databases/php82-pdo/ && make install clean
Mari kita lanjutkan materinya, sekarang saatnya menghubungkan PHP ke server MySQL. Untuk menguji koneksi ini, kita akan membuat file baru bernama "testkoneksi.php" yang akan kita tempatkan di folder "/usr/local/www/apache24/data". Di dalam file "testkoneksi.php" ketikkan skrip di bawah ini.

root@ns1:~ # ee /usr/local/www/apache24/data/testkoneksi.php

<?php
$servername = "192.168.5.2";
$username = "semeru";
$password = "gunungsemeru";

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

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Happy! You have successfully connected PHP to the MySQL Server Database";
?>
Langkah berikutnya adalah me-restart server web apache24.

root@ns1:~ # service apache24 restart
Setelah server apache24 berhasil direstart, buka browser web Google Chrome, Yandex atau Firefox. Pada menu address bar, ketik "http://192.168.5.2/testkoneksi.php", dan lihat hasilnya di layar monitor anda.


b. Koneksi dengan pdo

Setelah kita berhasil membuat koneksi dengan mysqli, sekarang kita lanjutkan dengan koneksi pdo. Ikuti langkah-langkah berikut untuk membuat koneksi PHP MySQL Server dengan PDO.

Langkah pertama adalah membuat file bernama "/usr/local/www/apache24/data/koneksipdo.php". Pada file "koneksipdo.php" masukkan skrip berikut.

root@ns1:~ # ee /usr/local/www/apache24/data/koneksipdo.php

<?php
$servername = "192.168.5.2";
$username = "semeru";
$password = "gunungsemeru";

try {
$conn = new PDO("mysql:host=$servername;
dbname=bromo", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Selamat! Anda telah berhasil menghubungkan PHP PDO dengan Database MySQL Server";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Coba, perhatikan script biru di atas. Dalam membuat koneksi database MySql dengan PHP PDO, diperlukan database (ini yang membedakannya dengan koneksi MySQL). Karena pada materi artikel ini kita telah membuat database dengan nama "bromo" dan "anjani", jadi kita bisa memilih salah satu dari keduanya. Dalam hal ini untuk membuat koneksi dengan PDO, kita ambil database "bromo".

Bagaimana?, sampai di sini apakah anda sudah paham tentang membuat koneksi PHP dengan MySQL Server. Jika belum, restart server apache24.

root@ns1:~ # service apache24 restart
Kemudian buka web browser Google Chrome, dan ketik "http://192.168.5.2/koneksipdo.php", lihat hasilnya, apakah koneksi database Anda dengan PHP PDO berhasil?.

MySQLI dan PDO memiliki kelebihan masing-masing. Perlu diingat bahwa MySQLI hanya untuk database MySQL. Sementara itu, PDO dapat digunakan bersama dengan database lain seperti MariaDB, MongoDB, PostgreSQL dan lainnya. PDO dapat menyederhanakan proses transisi, sehingga sangat baik untuk digunakan oleh database selain server MySQL.
Subscribe on LinkedIn Membuat Koneksi Database MySQL dengan PHP dan Apache di FreeBSD

Enclosures Link: Membuat Koneksi Database MySQL dengan PHP dan Apache di FreeBSD

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar