STR_TO_DATE附近的SQL语法错误

问题描述:

有人能解决我的问题吗?
随着SQL我写道:STR_TO_DATE附近的SQL语法错误

$sql = "INSERT INTO siswa_baru (NISN, nama, tempat_lahir, tanggal_lahir, alamat, agama, jenis_kelamin, sekolah_asal, nilai_rata) VALUES (" 
    .$nisn.",'" 
    .$nama.",'" 
    .$tempat_lahir."', " 
    . " STR_TO_DATE('".$tanggal_lahir."', '%d-%m-%Y'),'" 
    .$alamat."','" 
    .$agama."','" 
    .$jenis_kelamin."','" 
    .$sekolah_asal."'," 
    .$nilai.")"; 

及以下问题仍然存在:

您的SQL语法错误;
检查对应于您的MySQL服务器版本的手册,以在'','',STR_TO_DATE('','%d-%m-%Y'),'','','' , '') '在1号线

+0

你们在类似'每个参数缺少单引号。$ NISN “'”。$ NAMA “'” '它应该像'。$ nisn。“,'”。$ nama。“','”' –

+0

寻找'tanggal_lahir'变量我猜它不在''%d-%m-%Y''格式。 –

+0

额外',''$ nilai'之前' –

试试下面的代码

$sql = "INSERT INTO siswa_baru (NISN, nama, tempat_lahir, tanggal_lahir, alamat, agama, jenis_kelamin, sekolah_asal, nilai_rata) VALUES (" 
'.$nisn."','" 
.$nama."','" 
.$tempat_lahir."','" 
. " STR_TO_DATE('".$tanggal_lahir."', '%d-%m-%Y'),'"' 
.$alamat."','" 
.$agama."','" 
.$jenis_kelamin."','" 
.$sekolah_asal."','" 
.$nilai."')"; 
+0

谢谢,它的工作原理。但是所有的价值都应该给出一个单引号?因为nisn是一个不是字符的整数 –

+0

所以不要包含单引号的整数值 –