Kode Program PHP untuk Menampilkan Data Mahasiswa yang Tersimpan Di Database MySQL

Berikut ini adalah contoh kode program PHP untuk menampilkan data mahasiswa (nama, nomor induk, nomor HP, email, alamat) yang tersimpan di database MySQL:
php
<?php
$host = 'localhost'; // nama host database
$user = 'username'; // username database
$pass = 'password'; // password database
$dbname = 'nama_database'; // nama database
$conn = mysqli_connect($host, $user, $pass, $dbname); // koneksi ke database
if (!$conn) {
die("Koneksi database gagal: " . mysqli_connect_error());
}
$sql = "SELECT * FROM mahasiswa"; // query SQL untuk mengambil data mahasiswa
$result = mysqli_query($conn, $sql); // eksekusi query
if (mysqli_num_rows($result) > 0) {
// output data dari setiap baris
while($row = mysqli_fetch_assoc($result)) {
echo "Nama: " . $row["nama"] . "<br>";
echo "Nomor Induk: " . $row["nomor_induk"] . "<br>";
echo "Nomor HP: " . $row["nomor_hp"] . "<br>";
echo "Email: " . $row["email"] . "<br>";
echo "Alamat: " . $row["alamat"] . "<br><br>";
}
} else {
echo "Tidak ada data mahasiswa.";
}
mysqli_close($conn); // tutup koneksi database
?>

Kode di atas terdiri dari beberapa bagian:

  1. Koneksi ke database

Kode di atas menggunakan fungsi mysqli_connect() untuk melakukan koneksi ke database MySQL. Anda perlu mengisi nama host, username, password, dan nama database yang sesuai dengan konfigurasi database Anda.

  1. Query SQL

Kode di atas menggunakan query SQL SELECT * FROM mahasiswa untuk mengambil semua data mahasiswa dari tabel mahasiswa.

  1. Eksekusi query

Kode di atas menggunakan fungsi mysqli_query() untuk mengeksekusi query SQL.

  1. Looping data

Kode di atas menggunakan perulangan while dan fungsi mysqli_fetch_assoc() untuk mengambil data dari setiap baris hasil query dan menampilkannya ke layar.

  1. Tutup koneksi database

Kode di atas menggunakan fungsi mysqli_close() untuk menutup koneksi ke database.

Anda dapat mengubah kode tersebut sesuai dengan konfigurasi database Anda. Pastikan juga untuk melakukan sanitasi data untuk menghindari serangan SQL injection.

Sanitasi data untuk menghindari serangan SQL injection

SQL injection adalah teknik yang digunakan oleh para hacker untuk menyisipkan kode SQL berbahaya ke dalam sebuah query SQL yang sedang dijalankan, sehingga mereka bisa memanipulasi atau membaca data yang tidak seharusnya mereka akses.

Untuk menghindari serangan SQL injection, ada beberapa cara yang dapat dilakukan, di antaranya adalah:

  1. Gunakan prepared statement

Prepared statement adalah fitur pada database yang memungkinkan kita untuk membuat sebuah query SQL yang sudah terdefinisi dengan parameter tertentu yang akan diisi oleh input yang diberikan oleh pengguna. Dengan menggunakan prepared statement, parameter input yang diterima akan dianggap sebagai data biasa, sehingga tidak akan dieksekusi sebagai perintah SQL.

Contoh penggunaan prepared statement pada PHP:

php
$stmt = $conn->prepare("SELECT * FROM mahasiswa WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();

Pada contoh di atas, kita membuat sebuah prepared statement untuk mengambil data mahasiswa berdasarkan ID-nya. Parameter input yang diambil adalah $id, yang kemudian diikat ke dalam prepared statement menggunakan metode bind_param().

  1. Validasi input

Validasi input adalah cara untuk memeriksa apakah input yang diberikan oleh pengguna sesuai dengan format atau tipe data yang diharapkan. Misalnya, jika kita ingin menerima input nomor telepon, maka kita bisa memastikan bahwa input tersebut hanya terdiri dari angka dan karakter pemisah tertentu (misalnya “-“, atau ” “). Dengan memastikan bahwa input yang diterima sesuai dengan format yang diharapkan, maka kita bisa mencegah pengguna untuk memasukkan karakter-karakter yang tidak diinginkan.

Contoh validasi input untuk nomor telepon:

php
$phone_number = $_POST['phone_number'];
if (!preg_match('/^[0-9- ]+$/', $phone_number)) {
die('Nomor telepon tidak valid');
}

Pada contoh di atas, kita menggunakan fungsi preg_match() untuk memeriksa apakah input yang diberikan hanya terdiri dari angka, “-” atau ” “. Jika input tidak sesuai, maka program akan menghentikan proses dan menampilkan pesan error.

  1. Escape karakter khusus

Karakter khusus seperti tanda kutip tunggal (‘) atau backslash () bisa memicu kesalahan dalam query SQL jika tidak di-escape dengan benar. Oleh karena itu, sebelum menyimpan input pengguna ke dalam database, kita perlu melakukan escape pada karakter-karakter tertentu yang berpotensi menjadi masalah.

Contoh escape karakter khusus pada PHP:

php
$name = $_POST['name'];
$name = mysqli_real_escape_string($conn, $name);

Pada contoh di atas, kita menggunakan fungsi mysqli_real_escape_string() untuk melakukan escape pada karakter-karakter tertentu pada variabel $name. Dengan cara ini, input pengguna yang berisi karakter-karakter khusus dapat diolah tanpa menimbulkan kesalahan dalam query SQL.

Leave a Reply

Your email address will not be published. Required fields are marked *