我正在做一个能够让用户批准或撤销申请(如奖学金)的项目。但我似乎无法找出为什么它没有做我想做的事情。请检查下面的代码:
$try = mysql_query("UPDATE new_applicants SET ApplicantStatusId='$status', DateManaged = NOW() WHERE ApplicantId='$id'") or die(mysql_error());
$try1 = mysql_fetch_assoc($try);
$status1 = $try1["ApplicantStatusId"];
if( $status1 == 2 ){
header('location: ../employeepage.php');
exit();
}
else{
$sql1 = "INSERT INTO scholar_profile (Firstname, Middlename, Lastname, Address, EmailAddress, BirthDate, BirthPlace, Religion, Age, Gender, ContactNo, Skill, Talent, LevelId, GWA, CategoryId, StatusId, SchoolId, BarangayId) SELECT Firstname, Middlename, Lastname, Address, EmailAddress, BirthDate, BirthPlace, Religion, Age, Gender, ContactNo, Skill, Talent, LevelId, GWA, CategoryId, StatusId, SchoolId, BarangayId
FROM new_applicants
WHERE new_applicants.ApplicantId = '$id'" or die(mysql_error());
}
当appsstatus变为2 =撤销时,不应将数据复制到scholar_profile。但是当我尝试这个时,它仍然会复制。这有什么问题?感谢。
答案 0 :(得分:1)
您正在更新表格,因此mysql_fetch_assoc
不会返回任何内容。即$status1
将为null
。如果要选择该数据(ApplicantStatusID,...),则必须使用SELECT
语句。
答案 1 :(得分:0)
您只需更改SQL语句的where
子句:
WHERE new_applicants.ApplicantId = '$id' and new_Applicants.ApplicantStatusId <> 2"
然后你不必担心php中的逻辑。
答案 2 :(得分:0)
您在$try1 = mysql_fetch_assoc($try);
声明中提取UPDATE
这不是真的。
fetch仅适用于SELECT
个陈述