我如何在 php 中比较获取的值?

How do I compare a fetched value in php?

我在名为 "login""valid_stuid"(valid student id) 的数据库中有两个 table。 "valid stuid" 有两行,分别是 "stu_id""status",假设现在 table "valid stuid" 中有 1 列可用,即 "123" "stu_id" 行和 "status" 行下的 "open"。我创建了一个 php 脚本来使用学生 ID、用户名、密码、名字和姓氏注册用户。到目前为止,我已经成功地将它们输入到数据库中,但我正在努力从 valid_stuid table.

中选择状态

我的代码是这样的:

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",但我会在完成此操作后尝试这样做。

您需要针对您的数据库实际执行查询:

$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 有点生疏,但您会找到数以千计的代码示例)。