Poin penting yang menurut saya hilang dari orang-orang di sini adalah bahwa dengan database yang mendukung kueri berparameter, tidak ada 'pelarian' yang perlu dikhawatirkan. Mesin database tidak menggabungkan variabel terikat ke dalam pernyataan SQL dan kemudian menguraikan semuanya; Variabel terikat disimpan terpisah dan tidak pernah diuraikan sebagai pernyataan SQL umum.
Dari situlah keamanan dan kecepatan berasal. Mesin database mengetahui bahwa placeholder hanya berisi data, sehingga tidak pernah diuraikan sebagai pernyataan SQL lengkap. Speedup datang ketika Anda menyiapkan pernyataan sekali dan kemudian menjalankannya berkali-kali; contoh kanonik memasukkan beberapa catatan ke dalam tabel yang sama. Dalam hal ini, mesin basis data perlu mengurai, mengoptimalkan, dll. hanya sekali.
Sekarang, satu gotcha adalah dengan perpustakaan abstraksi database. Mereka terkadang memalsukannya dengan hanya memasukkan variabel terikat ke dalam pernyataan SQL dengan pelolosan yang tepat. Tetap saja, itu lebih baik daripada melakukannya sendiri.