我如何在 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 有点生疏,但您会找到数以千计的代码示例)。
我在名为 "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 有点生疏,但您会找到数以千计的代码示例)。