Memadukan isset dengan mysqli_real_escape_string

Memadukan isset dengan mysqli_real_escape_string

Oleh : Reza Ervani bin Asmanu

بسم الله الرحمن الرحيم

Pada saat menerima data dari fgetcsv ada dua bentuk kode php yang bisa kita gunakan yakni

Pertama

$id             = $getData[0];
    $no             = isset($getData[1]) ? $getData[1] : '';
    $biodatarawi    = isset($getData[2]) ? $getData[2] : '';

Kedua

id              = mysqli_real_escape_string($conn, $getData[0]);
    $no             = mysqli_real_escape_string($conn, $getData[1]);
    $biodatarawi    = mysqli_real_escape_string($conn, $getData[2]);

Dalam hal keamanan dan keandalan, potongan kode kedua yang menggunakan mysqli_real_escape_string() lebih baik karena memberikan perlindungan terhadap serangan SQL injection. Ini memastikan bahwa karakter-karakter khusus dalam data input di-escape dengan benar sebelum dimasukkan ke dalam database.

Namun, kedua potongan kode memiliki tujuan yang berbeda. Potongan kode pertama digunakan untuk menetapkan nilai default untuk variabel $no dan $biodatarawi jika bidang yang sesuai hilang dalam data input. Potongan kode kedua digunakan untuk membersihkan data input agar terhindar dari serangan SQL injection.

Jika data input dijamin selalu memiliki semua bidang yang diperlukan dan tidak ada risiko serangan SQL injection, maka potongan kode pertama mungkin sudah cukup. Namun, secara umum, disarankan untuk menggunakan prepared statement atau fungsi mysqli_real_escape_string() untuk membersihkan data input sebelum dimasukkan ke dalam database.

Keduanya bisa kita gabungkan seperti berikut :

$id             = mysqli_real_escape_string($conn, $getData[0]);
$no             = isset($getData[1]) ? mysqli_real_escape_string($conn, $getData[1]) : '';
$biodatarawi    = isset($getData[2]) ? mysqli_real_escape_string($conn, $getData[2]) : '';

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*