如果不能正常工作

时间:2016-03-12 13:18:47

标签: php mysql

所以我创建了带有unban请求的页面,并且在用户表中我保存,如果用户已经发送了请求,那么我没有来自一个用户的多个unban请求。现在,当我检查用户是否发送请求时,它不起作用。在数据库中它代表0,它仍然显示我弹出错误。 这是代码,感谢提前帮助

if(isset($_POST['btn-unban_req']))
{   
    if($unban_sent = 0)//THIS IS WHERE I CHECK
    {
        //MY THIGNS HERE
        if($connection ->query($unbanquery) === TRUE) 
        {           
          //MY THIGNS HERE
            if ($connection->query($sentquery) === TRUE) 
            {
            } 
            else 
            {
                echo $connection->error;
            }
        }
        else
        {

        }
    }
    else  // AND I GET THIS ERROR EVEN IF IT STANDS 0 IN DATABASE
    {
        echo "Unban already sent!";
    }
}

3 个答案:

答案 0 :(得分:0)

在第3行中,您错过了=进行比较。而是将$unban_set设置为0

尝试使用此代码:

if(isset($_POST['btn-unban_req']))
{   
    if($unban_sent == 0) //<- Now you are checking it here
    {
        //MY THIGNS HERE
        if($connection ->query($unbanquery) === TRUE) 
        {           
          //MY THIGNS HERE
            if ($connection->query($sentquery) === TRUE) 
            {
            } 
            else 
            {
                echo $connection->error;
            }
        }
        else
        {

        }
    }
    else  // AND I GET THIS ERROR EVEN IF IT STANDS 0 IN DATABASE
    {
        echo "Unban already sent!";
    }
}

答案 1 :(得分:0)

你使用的代码是错误的。

$unban_sent = 0

$unban_sent = 0表示将0分配给$unban_sent

应该是:

$unban_sent == 0

$unban_sent == 0表示$unban_sent等于0

==用于比较=用于作业===用于相同 >或相同类型

http://php.net/manual/en/language.operators.comparison.php的更多信息。

答案 2 :(得分:0)

您没有比较这些值,这是分配值:

if($unban_sent = 0) // assigning values

这应该是:

if($unban_sent == 0) // comparing values

基本示例:

让我们说,

1 = 1其分配
1 == 1检查条件将返回TRUE。

获取更多帮助: PHP Comparison Operators