Source Code dan Tutorial Pemograman

Memasukkan Kata yang Mengandung Tanda Kutip Pada MySQL dan PHP

Halo, pada suatu ketika (ceilaah..) saya sedang ada project membuat program input data penduduk, yang mana pada salah satu isian formnya adalah nama penduduk. Kasus terjadi ketika ada yang sedang entry biodata penduduk tersebut tetapi terjadi error alias data tidak bisa disimpan, dan pada satu kasus ada yang bisa, saya pun pusing jadinya kenapa ada yang bisa menyimpan data kenapa ada yang tidak. Namun setelah ditelaah dan diamati pola yang error nya ternyata penyebab error tersebut adalah tanda kutip satu ( ‘ ), contohnya ada yang punya nama Rofi’un, maka nama tersebut tidak bisa disimpan ke database, karena mySQL tidak bisa menerima tanda kutip satu tersebut secara default. Untuk permasalahan tersebut kita butuh tambahan script addslashes(…)

Contoh script yang bermasalah :

<form method='post' action='simpan_biodata'>
 <table>
  <tr><th>nama user</th><td>: <input type='text' name='nama'> </td></tr>
  <tr><th>alamat</th><td>: <input type='text' name='alamat'> </td></tr>
  <tr><td colspan='2'><input type='submit' value='Insert'> </td></tr>
 </table>
</form>

Pada aksi simpan_biodata.php nya berisi syntax ini :

$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
mysql_query("INSERT INTO  `user` (`nama_user` ,`alamat`  )
VALUES ('$nama','$alamat'");

Nah script di atas adalah script awal yang bermasalah pada input kata yang mengandung tanda kutip. Pada script simpan_biodata.php di atas tambahkan script addslashes sebelum $_POST, selengkapnya bisa di lihat di bawah :

$nama=addslashes($_POST['nama']);
$alamat=addslashes($_POST['alamat']);
mysql_query("INSERT INTO  `user` (`nama_user` ,`alamat`  )
VALUES ('$nama','$alamat'");

Setelah scriptnya diubah seperti hal di atas program pun berjalan normal.

Sekian.

Keep Calm and Stay Ngoding.