我尝试将数据保存到表中但它不起作用。但另一个代码类似的程序呢,为什么呢?
<?php
$nik = $_POST['nik'];
$no_kk = $_POST['no_kk'];
$nama = $_POST['nama'];
$lahir = $_POST['lahir'];
$jenis_kelamin = $_POST['jk'];
$nope = $_POST['no_hp'];
$no_tps = $_POST['no_tps'];
$pekerjaan = $_POST['pekerjaan'];
$pendidikan = $_POST['pendidikan'];
$agama = $_POST['agama'];
$tgl = $_POST['tgl'];
$simpan=$_POST['simpan'];
$sql = "INSERT INTO tb_tj_beringin (NIK, NO_KK, NAMA_LENGKAP, JENIS_KELAMIN, TEMPAT_LAHIR, TANGGAL_LAHIR, AGAMA, PENDIDIKAN_AKHIR, JENIS_PEKERJAAN, NO_HP, NO_TPS) VALUES ('$nik', '$no_kk', '$nama','$alamat','$jenis_kelamin','$lahir','$tgl', '$agama', '$pendidikan', '$pekerjaan', '$nope', '$no_tps')";
$data = mysqli_query('$koneksi, $sql');
if(isset($simpan)){
$data = $koneksi->query($sql);
if($data){
?>
<script type="text/javascript">
alert ("Data Berhasil Disimpan");
window.location.href="?page=anggota";
</script>
<?php
}
else{
echo "error";
}
}
?>
这是错的:...VALUES ('$nik', '$no_kk', '$nama'...)
。
在PHP中,单引号阻止变量扩展的问题。所以你永远不会实际插入$nik
(或其他任何东西)的值。
第二个问题是,您永远不应该将Web请求中的数据直接插入数据库。永远不要信任用户数据。这是一个巨大的漏洞。
解决两个问题的简单方法就是使用prepared statements。