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]) : '';
Leave a Reply