
我希望我有一个错误信息,如果该idno已完成注册在2015年,不需要唯一的idno原因我必须冗余,因为每年的idno可以保存或注册在数据库上,但问题是我想检查他是否已经在2015年或2016或2017年注册。
下面是我保存学生信息的代码:
<?php
if (isset($_POST['save'])){
$stud_id= $_POST['stud_id'];
$idno = $_POST['idno'];
$lastname = $_POST['lastname'];
$firstname = $_POST['firstname'];
$middlename= $_POST['middlename'];
$year= $_POST['year'];
$dept_id = $_POST['dept_id'];
$progid = $_POST['progid'];
$user_type = $_POST['user_type'];
$password= $_POST['password'];
$syear= $_POST['syearid'];
$YearNow=Date('Y');
$sql = mysql_query("SELECT * FROM student where idno = '$idno'")or die(mysql_error());
$count = mysql_num_rows($sql);
$sql1 = mysql_query("SELECT * FROM student,school_year where student.syearid = school_year.syearid AND school_year.from_year like $YearNow")or die(mysql_error());
$count1 = mysql_num_rows($sql1);
if (don't know what to condition on this part ) {
echo"idno $idno has already registered in that year";
}
else{
// query
$sql = "INSERT INTO student VALUES ('$stud_id','$idno','$dept_id','$progid','$syear','0','$lastname','$firstname','$middlename','$year','$password','$user_type')";
$result = mysql_query($sql) or die(mysql_error());
echo "<script type='text/javascript'>\n";
echo "alert('Successfully Added.');\n";
echo "window.location = 'addusers.php';";
echo "</script>";
}
?>我需要帮助,我需要帮助。谢谢
School_year表有(syearid(唯一),from_year(2015),to_year(像2016))
发布于 2015-12-04 10:18:08
在将变量绑定到查询之前,首先清理变量,以防止某些SQL injections。您可以使用*_real_escape_string
$lastname = mysql_real_escape_string($_POST['lastname']);对传递的其余数据执行此操作。
对于您的if()条件,您可以这样做(正如@chris85已经指出的那样):
if($count >= 1 || $count1 >= 1){
echo "idno $idno has already registered in that year";
}请不要使用mysql_*接口,因为它已经是deprecated接口,应该使用mysqli_*或PDO接口。
https://stackoverflow.com/questions/34079376
复制相似问题