Posted on Leave a comment

PHP – Mengatasi Tanda Kutip Satu ‘ yang Tidak Masuk ke Database

Saya sedang membuat CRUD seperti biasa menggunakan PHP, dan suatu ketika data yang di input kan tidak masuk ke database.

Bingungnya lagi hanya beberapa data yang tidak bisa masuk, sementara yang lainnya berjalan normal dan gak ada error sama sekali.

Setelah diteliti lebih lanjut, ternyata data yang mengandung tanda kutip satu (‘) lah yang tidak bisa masuk ke database. Contohnya seperti nama-nama surah di Al-Quran yang mengandung tanda kutip satu, Al-Ma’idah, Al-A’raf dan masih banyak contoh lainnya yang didalam katanya mengandung tanda kutip satu.

Belakangan saya tahu kalau tanda kutip satu tersebut termasuk kedalam special character di PHP dan perintah SQL. Sehingga perlu penanganan lebih lanjut untuk mengatasi special character tersebut.

Berikut ini cara yang saya lakukan agar data dengan tanda kutip satu bisa masuk kedalam database.

Solusi

Caranya cukup simpel, yaitu dengan menggunakan perintah mysqli_real_escape_string.

$nama_surah = mysqli_real_escape_string($con, $_POST['nama_surah']);
// $con merupakan varibel dari koneksi database yang digunakan

Special character yang bisa ditangani oleh perintah ini adalah NUL (ASCII 0), \n, \r, \, ', ", dan Control-Z.

Jadi jika data yang ingin dimasukkan mengandung karakter-karakter diatas, maka harus menggunakan perintah ini.

Semoga bermanfaat.

Komentar