我如何比较PHP中的获取值?

时间:2015-01-02 17:36:40

标签: php mysql

我在名为"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",但我会在完成此操作后尝试执行此操作。

1 个答案:

答案 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有点生疏,但你会发现成千上万的代码示例)。