Contoh Script PHP Dasar berhubungan dengan Database

Berikut adalah contoh penggunaan PHP untuk membuat koneksi database, dan operasi dasar CRUD (Create, Read, Update, Delete) dengan langkah-langkah untuk mencegah SQL injection:


1. **Koneksi Database**: Buatlah file `koneksi.php` untuk membuat koneksi dengan database dan menghindari SQL injection.


```php

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "nama_database";


// Membuat koneksi

$conn = new mysqli($servername, $username, $password, $dbname);


// Memeriksa koneksi

if ($conn->connect_error) {

    die("Koneksi gagal: " . $conn->connect_error);

}

?>

```


Pastikan Anda mengganti `"localhost"`, `"username"`, `"password"`, dan `"nama_database"` sesuai dengan informasi koneksi database Anda.


2. **Input Data**: Buatlah file `tambah.php` untuk menambah data ke dalam database.


```php

<?php

include 'koneksi.php';


// Menghindari SQL Injection

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

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


// Query untuk menambah data

$sql = "INSERT INTO tabel_data (nama, umur) VALUES ('$nama', '$umur')";


if ($conn->query($sql) === TRUE) {

    echo "Data berhasil ditambahkan";

} else {

    echo "Error: " . $sql . "<br>" . $conn->error;

}


$conn->close();

?>

```


3. **View Data**: Buatlah file `lihat.php` untuk melihat data dari database.


```php

<?php

include 'koneksi.php';


// Query untuk mengambil data

$sql = "SELECT * FROM tabel_data";

$result = $conn->query($sql);


if ($result->num_rows > 0) {

    // Output data setiap baris

    while($row = $result->fetch_assoc()) {

        echo "ID: " . $row["id"]. " - Nama: " . $row["nama"]. " - Umur: " . $row["umur"]. "<br>";

    }

} else {

    echo "Tidak ada data";

}


$conn->close();

?>

```


4. **Edit Data**: Buatlah file `edit.php` untuk mengedit data dalam database.


```php

<?php

include 'koneksi.php';


// Menghindari SQL Injection

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

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

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


// Query untuk mengedit data

$sql = "UPDATE tabel_data SET nama='$nama', umur='$umur' WHERE id=$id";


if ($conn->query($sql) === TRUE) {

    echo "Data berhasil diubah";

} else {

    echo "Error: " . $sql . "<br>" . $conn->error;

}


$conn->close();

?>

```


5. **Hapus Data**: Buatlah file `hapus.php` untuk menghapus data dari database.


```php

<?php

include 'koneksi.php';


// Menghindari SQL Injection

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


// Query untuk menghapus data

$sql = "DELETE FROM tabel_data WHERE id=$id";


if ($conn->query($sql) === TRUE) {

    echo "Data berhasil dihapus";

} else {

    echo "Error: " . $sql . "<br>" . $conn->error;

}


$conn->close();

?>

```


Dengan menggunakan fungsi `mysqli_real_escape_string()`, kita dapat mencegah SQL injection dengan menghindari karakter khusus yang dapat merusak query SQL. Pastikan juga untuk melakukan validasi dan sanitasi input pengguna di sisi klien (HTML/JavaScript) untuk meningkatkan keamanan aplikasi Anda.

No comments:

Post a Comment