Rumah > Artikel > pangkalan data > Adakah CodeIgniter Menyokong Penyata Disediakan?
Penyataan yang disediakan ialah alat penting untuk meningkatkan keselamatan dan prestasi pangkalan data. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa CodeIgniter tidak menyokong kenyataan yang disediakan secara asli. Walaupun begitu, kami boleh menggunakan pengikatan pertanyaan, pendekatan serupa yang menawarkan faedah yang besar.
CodeIgniter merangkumi pengikatan pertanyaan yang tidak dinamakan, di mana tanda soal (?) bertindak sebagai ruang letak dalam pertanyaan SQL. Pemegang tempat ini digantikan secara automatik dengan nilai yang ditentukan dalam tatasusunan yang dihantar kepada fungsi pertanyaan.
Contohnya:
$sql = "SELECT * FROM tbl_user WHERE uid = ? AND activation_key = ?"; $this->db->query($sql, array($uid, $activation_key));
Walaupun CodeIgniter kekurangan eksplisit sokongan untuk pengikatan bernama (cth., :id dan :key), menggantikan tanda soal dengan ruang letak bernama tidak menunjukkan penggunaan pernyataan yang disediakan. Pengikatan bernama hanya menyediakan alternatif sintaks yang berbeza dalam pengikatan pertanyaan.
Adalah penting untuk memahami bahawa menggunakan ? atau :foo tidak menandakan penyediaan kenyataan. Pernyataan yang disediakan memerlukan dua panggilan fungsi yang berbeza: prepare() dan execute(), yang tidak disokong dalam CodeIgniter.
Walaupun tiada pernyataan yang disediakan, pengikatan pertanyaan menawarkan beberapa kelebihan:
Atas ialah kandungan terperinci Adakah CodeIgniter Menyokong Penyata Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!