我在名为"login"
和"valid_stuid"(valid student id)
的数据库中有两个表。 "valid stuid"
有两行,"stu_id"
和"status"
,现在我们可以说表"valid stuid"
中有一列"123"
"stu_id"
在"open"
行下的行和"status"
。我创建了一个php脚本来注册一个具有学生ID,用户名,密码,名字和姓氏的用户。到目前为止,我已成功将它们输入到数据库中,但我正在努力从valid_stuid
表中选择状态。
我的代码类似于:
if(isset($_POST["submit"])){
if(!empty($_POST['stuid']) && !empty($_POST['user']) && !empty($_POST['pass']) && !empty($_POST['fname']) && !empty($_POST['lname'])) {
$stuid=$_POST['stuid'];
$user=$_POST['user'];
$pass=$_POST['pass'];
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$con=mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('user_registration') or die("cannot select DB");
$stuidcheck="SELECT status FROM valid_stuid WHERE id='".$stuid."'";
if($stuidcheck == "used")
{
echo "Student ID is registered to another account!";
}
else{
$sql1="INSERT INTO login(stu_id,username,password,first_name,last_name) VALUES('$stuid','$user','$pass','$fname','$lname')";
mysql_query($sql1);
$sql2="INSERT INTO valid_stuid(stu_id,status) VALUES('$stuid','used')";
mysql_query($sql2);
}
} else {
echo "Please fill up all fields";
}
}
?>
我认为我在比较$stuidcheck
的价值时失败了,并且想到了与其他语言进行比较的想法。我还计划使用修改将状态从"open"
更改为"used"
,但我会在完成此操作后尝试执行此操作。
答案 0 :(得分:3)
您需要对数据库实际执行查询:
$stuidcheck="SELECT status FROM valid_stuid WHERE id='".$stuid."'";
if($stuidcheck == "used")
所有这一切都是为字符串$stuidcheck
提供值" SELECT ...",但您需要执行以下操作:
$result=mysql_query($stuidcheck);
$row=mysql_fetch_assoc($result);
if ($row['status'] == "used")
或类似的东西(我的PHP有点生疏,但你会发现成千上万的代码示例)。