Solusi Kesalahan Error Insert Karena Single atau Double Quote Pada PHP MySQL

Ilham Setia Bhakti
1 min readMar 29, 2020

--

https://upload.wikimedia.org/wikipedia/en/thumb/6/62/MySQL.svg/1200px-MySQL.svg.png

Masalah:

Pada pemrograman PHP, penginputan data biasanya dilakukan dengan melakukan metode MySQL dengan Query :

INSERT INTO table_name ($column1, $column2, $column3, …)
VALUES (‘value1’,’ value2', ‘value3’, …);

Tapi terkadang dalam prosesnya (terutama dalam insert data berbahasa Inggris), user atau pengguna sering menggunakan simbol quotes misalya pada kalimat Don’t yang membuat penggunaan singel Qoutes jadi berantakan.

Solusi:

Masalah diatas dapat dihindari dengan penggunaan fungsi PHP addslashes() pada variabel sebelum diinput kedalam Database

Fungsi dari PHP addslashes() adalah sebagai penyaring (escape) dari simbol single Quotes dan Double Quotes yang bisa menyebabkan BUG pada query.

Contoh Penggunaan:

Code: <?php
$str = addslashes(‘What does “yolo” mean?’); //Data yang akan diinput.
echo($str);
?>

Output: What does \”yolo\” mean?

Code: <?php
$str = “Who’s Peter Griffin?”; //Data yang akan disaring.
echo $str . “ This is not safe in a database query.<br>”;
echo addslashes($str) . “ This is safe in a database query.”;
?>

Output: Who’s Peter Griffin? This is not safe in a database query.
Who\’s Peter Griffin? This is safe in a database query.

--

--

Ilham Setia Bhakti
Ilham Setia Bhakti

No responses yet