Setelah tabel siap, saatnya mengisinya dengan data. Proses menyimpan data baru ke tabel disebut insert data MySQL, menggunakan perintah INSERT INTO. Panduan ini menunjukkan cara melakukannya dengan benar dan aman.
Insert Sederhana
Cara paling dasar adalah menuliskan perintah INSERT langsung:
<?php
$sql = "INSERT INTO pengguna (nama, email)
VALUES ('Budi', 'budi@contoh.com')";
if ($koneksi->query($sql)) {
echo "Data berhasil ditambahkan";
}
?>
Namun, cara ini berbahaya jika nilainya berasal dari input pengguna, karena rentan terhadap serangan SQL injection.
Insert dengan Prepared Statement (Direkomendasikan)
Cara yang aman adalah memakai prepared statement, yang memisahkan perintah SQL dari data:
<?php
$stmt = $koneksi->prepare("INSERT INTO pengguna (nama, email) VALUES (?, ?)");
$stmt->bind_param("ss", $nama, $email);
$nama = "Budi";
$email = "budi@contoh.com";
$stmt->execute();
echo "Data tersimpan dengan aman";
?>
Memahami bind_param
Huruf pada bind_param menyatakan tipe data setiap nilai: s (string), i (integer), d (double). Jadi "ss" berarti dua nilai bertipe string, sedangkan "si" berarti string lalu integer.
Kenapa Prepared Statement Penting?
Bayangkan pengguna mengetik nama ' ; DROP TABLE pengguna; --. Pada insert biasa, ini bisa menghapus seluruh tabel Anda! Prepared statement mencegahnya karena data tidak pernah dianggap sebagai bagian dari perintah SQL. Inilah alasan mengapa teknik ini wajib digunakan.
Menyimpan Banyak Data Sekaligus
Untuk memasukkan banyak baris, jalankan execute() berulang dengan nilai berbeda tanpa perlu prepare ulang.
Kesimpulan
Saat melakukan insert data MySQL yang melibatkan input pengguna, selalu gunakan prepared statement. Kebiasaan ini adalah salah satu langkah keamanan terpenting dalam pengembangan aplikasi database.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

