如何对其设定条件?PHP
我在添加学生信息时遇到困难。我希望我的程序每年只能保存一次学生信息 我的代码中有一个问题,因为如果我添加idno=c24然后保存它,它将保存,但当我再次尝试添加相同的idno时,它将再次保存。请帮助我的条件,idno可以保存1个idno(每年一次),并有一个错误消息,该idno已在今年注册 这是我的密码:如何对其设定条件?PHP,php,html,php-5.5,Php,Html,Php 5.5,我在添加学生信息时遇到困难。我希望我的程序每年只能保存一次学生信息 我的代码中有一个问题,因为如果我添加idno=c24然后保存它,它将保存,但当我再次尝试添加相同的idno时,它将再次保存。请帮助我的条件,idno可以保存1个idno(每年一次),并有一个错误消息,该idno已在今年注册 这是我的密码: $sql = "INSERT INTO student VALUES ('$stud_id','$idno','$dept_id','$progid','$syear','0','$lastn
$sql = "INSERT INTO student VALUES ('$stud_id','$idno','$dept_id','$progid','$syear','0','$lastname','$firstname','$middlename','$year')";
$result = mysql_query($sql) or die(mysql_error());
if ($idno > 1) {
echo"that idno has already exist with exact current year";
} else {
mysql_query("insert into users (stud_id,password,user_type) values('$stud_id','$password','$user_type')")or die(mysql_error());
echo "<script type='text/javascript'>\n";
echo "alert('Successfully Added.');\n";
echo "window.location = 'addusers.php';";
echo "</script>";
}
}
$sql=“插入学生值(“$stud\u id”、“$idno”、“$dept\u id”、“$progid”、“$syear”、“0”、“$lastname”、“$firstname”、”$中间名“,“$year”)”;
$result=mysql\u query($sql)或die(mysql\u error());
如果($idno>1){
回显“该idno已存在,且当前年份准确”;
}否则{
mysql_查询(“插入到用户(stud_id、密码、用户类型)值(“$stud_id’、“$password’、“$user_type”)或die(mysql_error());
回音“\n”;
echo“警报('已成功添加');\n”;
echo“window.location='addusers.php';”;
回声“;
}
}
您需要首先检查ID是否存在,如果存在,则提醒消息,不要插入
$sql = mysql_query("select * from student where idno = '$idno'") or die(mysql_error()); //check based on idno
if(mysql_num_rows($sql) > 0){ //idno exists
echo"that idno has already exist with exact current year";
}else { //idno does not exist
mysql_query("insert into users (stud_id,password,user_type) values('$stud_id','$password','$user_type')")or die(mysql_error());
echo "<script type='text/javascript'>\n";
echo "alert('Successfully Added.');\n";
echo "window.location = 'addusers.php';";
echo "</script>";
}
$sql=mysql\u query(“从学生中选择*,其中idno='$idno')或die(mysql\u error())//基于idno的检查
如果(mysql_num_rows($sql)>0){//idno存在
回显“该idno已存在,且当前年份准确”;
}否则{//idno不存在
mysql_查询(“插入到用户(stud_id、密码、用户类型)值(“$stud_id’、“$password’、“$user_type”)或die(mysql_error());
回音“\n”;
echo“警报('已成功添加');\n”;
echo“window.location='addusers.php';”;
回声“;
}
最后一点提示:不要继续使用mysql,因为它在较新版本的PHP上已被弃用。开始学习使用mysqli_uu。主键呢
ALTER TABLE student
ADD PRIMARY KEY (idno)
您是否有一个列可以告诉您学生的注册年份?如果有,您可以使用idno创建一个唯一索引,如:
CREATE UNIQUE INDEX unique_idx01 on tableNAME(reg_year, idno);
然后,当您插入具有相同年份和idno的另一行时,mysql将给出一个错误(1062)我不推荐使用<代码> MySqLu考虑<代码> MySqLII<<代码>,或者甚至<代码> PDO<代码>,这里解释了PHP5.5的“<代码>未定义的< /代码>,如果您使用的是折旧<代码> MySqL**<代码>函数,我希望在将这些变量注入查询之前,您至少要调用
mysql\u real\u escape\u string
。在执行简单检查时,您也不应该使用*
进行选择。如何,它不起作用$sql=mysql\u查询(“SELECT*from student where idno='$idno')或死亡(mysql\u error())//如果(mysql_num_rows($sql)>0){//idno exists echo“该idno在当前年份已经存在”;}否则{//idno不存在mysql_查询(“插入到用户(stud_id、密码、用户类型)值('$stud_id'、'$password'、'$user_type'))或死亡(mysql_error());echo“\n”;echo“警报('已成功添加”);\n;echo“window.location='addusers.php';“echo”“;}我有一个学年表,它是syearid,year _from和to _from,学生表syearid@CamilleValerio在学生上创建唯一索引UNIQUE_idx01(syearid,idno)$syear=$\u POST['syearid']$向往=日期('Y')$sql1=mysql\u查询(“选择*自学生,学年,其中idno='$idno'和student.syearid=school\u year.syearid和school\u year.FROM\u year,如$earnow”)或死亡(mysql\u error())//如果(mysql\u num\u rows($sql1)>0,{//idno exists echo“表示$idno已存在,且当前年份正好为$REASHOW”,则根据idno student.syearid=school\u year.syearid和school\u year.from\u year.from\u year进行检查;