我有一个表单,我将学生登录数据保存到数据库。该表单包括“admission_number”,“username”和“password”字段。如果录取号码已存在且用户尝试再次添加,我想显示错误。这是我用于插入记录的PHP代码。
<?php
if(isset($_POST['submit']))
{
$server = 'localhost';
$username = 'root';
$password = '';
$course_code=$_POST['course_code'];
$course_title=$_POST['course_title'];
$course_units=$_POST['course_units'];
$course_semester=$_POST['course_semester'];
$con=($GLOBALS["___mysqli_ston"] = mysqli_connect($server, $username, $password));
if(!$con)
{
exit('Error: could not establish connection to the server');
}
else
{
$con_db=((bool)mysqli_query($con, "USE esther"));
if(!$con_db)
{
exit('Error: Failed to connect to the database');
}
else
{
if(!empty($course_code) && !empty($course_title) && !empty($course_units) && !empty($course_semester))
{
$insert="INSERT INTO `course_table` VALUES('', '".$course_code."' ,'".$course_title."','".$course_units."','".$course_semester."')";
$query=mysqli_query($GLOBALS["___mysqli_ston"], $insert);
$dup_admission_number = mysql_query("SELECT admission_number FROM users_table WHERE admission_number = $admission_number");
}
if (@mysql_query($dup_admission_number)) {
echo 'Your admission number is already in our database.';
exit;
}
if($query)
{
echo 'course added successfully!';
header("location:add_course.php");
}
else { echo 'Error while adding Course.'; }
}
else
{
echo '*** fields cannot be blank ***.';
}
}
}
?>
答案 0 :(得分:0)
要检查入场号是否唯一,您必须执行以下查询
$ sql:&#34;从student中选择id,其中admission_number =&lt;&gt;限制0,1&#34 ;;
如果此查询显示结果,那么您当前表单的录取号码不是唯一的。
您可以使用ajax请求执行此过程,也可以在插入查询进行处理之前进行检查。
或者您可以通过为入场号码提供唯一的密钥约束来在mysql中管理它。
答案 1 :(得分:0)
这是Mysql查询
INSERT INTO sometable (data1, data2, data13)
SELECT 'username' FROM sometable
WHERE NOT EXISTS
(SELECT username FROM sometable WHERE login='someusername');