Jika pengguna memasukkan nama seperti Fu'ad Bin Deris tanpa kita tapis data tersebut, apakah yang akan berlaku?
Saya rasa, kita pasti akan dapat error seperti ini:
Message: oci_parse(): ORA-01756: quoted string not properly terminated
Jadi, apa yang harus dilakukan?
Di dalam CodeIgniter, biasanya saya akan tapis item tersebut dengan kaedah seperti berikut sebelum melaksanakan Query bagi menyimpan data tersebut ke dalam pangkalan data:
$nama = str_replace("'", "''",$this->input->post('nama'));
Aturcara tersebut akan menukar simbol single quote (') kepada single quote yang lengkap atau berpasangan. Maka apabila Query dilaksanakan, ia secara automatik akan menukarkan semula data tersebut kepada data yang asal iaitu dengan satu single quote.
Diharap nota ringkas ini dapat membantu anda.
o
ReplyDelete