Php 主体登记错误
我在这里面临一个问题。首先,我在这里做的是学生的学科注册系统。我设置了一部分代码来限制同一个学生一次又一次地注册同一科目。但不幸的是,这给了我一个相反的效果。我的错误是,当一个学生注册一个科目时,其他学生无法注册该科目,即使他们以前从未注册过。任何帮助都将不胜感激Php 主体登记错误,php,mysqli,Php,Mysqli,我在这里面临一个问题。首先,我在这里做的是学生的学科注册系统。我设置了一部分代码来限制同一个学生一次又一次地注册同一科目。但不幸的是,这给了我一个相反的效果。我的错误是,当一个学生注册一个科目时,其他学生无法注册该科目,即使他们以前从未注册过。任何帮助都将不胜感激 <?php if(!isset($_POST['submit'])){ exit('Unauthorized access!'); } $name = $_POST['name
<?php
if(!isset($_POST['submit'])){
exit('Unauthorized access!');
}
$name = $_POST['name'];
$studentid = $_POST['studentid'];
$program = $_POST['program'];
$fintake = $_POST['fintake'];
$courseid = $_POST['courseid'];
include("include/config.php");
//this could be the problem,i'm not sure
$check_query = mysqli_query($link, "SELECT r_id FROM course_registration WHERE r_cid='$courseid' limit 1");
if(mysqli_fetch_array($check_query))
{
echo 'Error:Course ID:',$courseid,' already exists. <a href="javascript:history.back(-1);">Return</a>';
exit;
}
$result = mysqli_query($link, "SELECT * FROM course_list WHERE c_cid = '$courseid'");
if(mysqli_fetch_array($result))
{
$sql = "INSERT INTO course_registration (r_name,r_sid,r_program,r_fintake,r_cid) VALUES('$name','$studentid','$program','$fintake','$courseid')";
if(mysqli_query($link,$sql))
{
exit('Success! Register course successfully. <a href="index.php">Homepage</a>');
}
else
{
echo 'Sorry! Add data failed:',mysqli_error($link),'<br />';
echo 'Click here <a href="javascript:history.back(-1);">Return</a> retry';
}
}
else
{
echo 'Sorry! Wrong course id.','<br />';
echo 'Click here <a href="javascript:history.back(-1);">Return</a> retry';
}
?>
您可以在where
$check\u query=mysqli\u query($link,“从
课程注册,其中r_cid=“$courseid”和r_sid=“$studentid”) 您的检查
courseid
存在于表中,但需要检查courseid
是否存在于特定的student
中,因此您需要像这样添加where子句
SELECT r_id FROM course_registration WHERE r_cid='$courseid' AND r_sid='$studentid'"
在给定的案例中,您正在检查数据库中的课程id,并且仅限于1,因此,它会在您的案例中报告一个错误。检查学生是否已报名参加课程。您还必须使用courseid检查学生id。也许,此查询可以帮助您:
SELECT r_id FROM course_registration WHERE r_sid='$studentid' AND r_cid='$courseid'"
添加where子句studentid=$studenid。不工作意味着哪一个??但这是一种查找表中已存在的主题和学生的方法。如果我的答案有用,请用绿色勾选它,以供将来的用户参考@StevenCentry(mysqli\u num\u rows($check\u query)>0)代替mysqli\u fetch\u array($check\u query),我认为这会很有帮助
SELECT r_id FROM course_registration WHERE r_sid='$studentid' AND r_cid='$courseid'"