我目前正在制作学生注册表。我的查询似乎无法正常工作。它没有将任何数据保存到数据库。我无法找到问题所在。
我正在使用if (isset($_POST['submit']))
$NamaPelajar=$_POST['NamaPenuh'] ;
$NoKP= $_POST['NoIC'] ;
$Jantina=$_POST['Jantina'] ;
$Email=$_POST['Email'] ;
$Katalaluan=$_POST['KataLaluan'] ;
$AlamatPelajar1=$_POST['alamat'] ;
$PoskodPelajar=$_POST['Poskod'] ;
$BandarPelajar=$_POST['bandar'] ;
$NegeriPelajar=$_POST['Negeri'] ;
$NoTelPelajar=$_POST['NoTelPelajar'] ;
$NamaInstitusi=$_POST['NamaUni'] ;
$AlamatInstitusi1=$_POST['alamatp'] ;
$PoskodInstitusi=$_POST['Poskodp'] ;
$BandarInstitusi=$_POST['bandarp'] ;
$NegeriInstitusi=$_POST['Negerip'] ;
$Kelayakan=$_POST['Kelayakan'] ;
$Jurusan=$_POST['kos'] ;
$Tempoh=$_POST['Tempoh'] ;
$Mula=$_POST['mula'] ;
$Tamat=$_POST['akhir'] ;
$NoTelPenyelia=$_POST['NoPenyelia'] ;
$AlamatPelajar = ($AlamatPelajar1).' '.($PoskodPelajar)
.' '.($BandarPelajar).' '.($NegeriPelajar);
$AlamatInstitusi = ($AlamatInstitusi1).' '.($PoskodInstitusi)
.' '.($BandarInstitusi).' '.($NegeriInstitusi);
这是查询
已经在数据库中进行三重检查,尝试使用新数据库,检查发布变量。
$query = mysql_query("INSERT INTO `pelajar`
(NamaPelajar,NoKpPelajar,JantinaPelajar,EmailPelajar,
KataLaluanPelajar,AlamatPelajar,NoTelPelajar,NamaInstitusi,AlamatInstitusi,
KelayakanPelajar,JurusanPelajar,TempohLatihan,TarikhMula,TarikhTamat,NoTelPenyelia)
VALUES ('$NamaPelajar','$NoKP','$Jantina','$Email','$Katalaluan','$AlamatPelajar',
'$NoTelPelajar','$NamaInstitusi','$AlamatInstitusi','$Kelayakan','$Jurusan','$Tempoh',
'$Mula','$Tamat','$NoTelPenyelia')");
if($query)
{
$url = 'Succes.php';
}
else
{
$url = 'Fail.php';
}
header('Location: ' . $url);
exit();
每次我运行它时,总是前往Fail.php
答案 0 :(得分:1)
首先,您应该使用PreparedStatements或至少转义数据,否则您的数据库将打开以进行SQL注入。
您的查询位于字符串中,因此新行和空格可能会计入列名称,您必须将其删除。
您可以使用echo mysql_error();
打印上一个错误。
无论如何,最好看看 PDO 或 mysqli ,因为不推荐使用mysql。
答案 1 :(得分:0)
在php中构建查询并将其返回给浏览器。
$insertSQL = "INSERT INTO `pelajar` (NamaPelajar,NoKpPelajar,JantinaPelajar,EmailPelajar, KataLaluanPelajar,AlamatPelajar,NoTelPelajar,NamaInstitusi,AlamatInstitusi, KelayakanPelajar,JurusanPelajar,TempohLatihan,TarikhMula,TarikhTamat,NoTelPenyelia) VALUES ('$NamaPelajar','$NoKP','$Jantina','$Email','$Katalaluan','$AlamatPelajar', '$NoTelPelajar','$NamaInstitusi','$AlamatInstitusi','$Kelayakan','$Jurusan','$Tempoh', '$Mula','$Tamat','$NoTelPenyelia')";
echo $insertSQL;
在sql客户端控制台,gui或phpMyAdmin中运行生成的查询以查找原因