繁体   English   中英

PHP MySQL创建查询条件

[英]PHP MySQL create condition for query

我的PHP代码中有这样的代码:

    <?php
    require('../../server.php');
    $role = strtoupper($_POST['role']);
    $pool = strtoupper($_POST['pool']);
    $psh = strtoupper($_POST['comp']);

    if($role = "POOL")
    {
        $query2 = "INSERT INTO m_login (email, password, role, company_id)
                            VALUES ('$email', '$pass', '$role', '$pool')";
    }
    else
    {
        $query2 = "INSERT INTO m_login (email, password, role, company_id)
                            VALUES ('$email', '$pass', '$role', '$psh')";
    }

    if (mysql_query($query2))
    {
        $whatdo = strtoupper("add user ").$id;
        include_once('../../serverlog.php');
        $querys = "INSERT INTO m_log (user_id, description, waktu) VALUES ('$user', '$whatdo', '$input')";
        if(mysql_query($querys))
        {
          echo'<script>alert("Penambahan data berhasil!");</script>
          <meta http-equiv="refresh" content="0; url=index.php" />';
        }
        else
        {
          echo mysql_error();
        }
    }
    else
    {
        echo'<script>alert("Failed!");</script> <br/>'.mysql_error().'<meta http-equiv="refresh" content="10; url=index.php" />';
    }
?>

我的问题是,为query2创建条件是否错误? 因为当我运行程序时,我的数据总是获得该角色的POOL结果,尽管我选择了Admin或Supervisor,但它总是返回POOL

我用来选择注册表格中的角色。 因此,当我选择选项admin时,它返回池,当我选择spv时,它返回池。

有人可以给我解决方案吗?

对不起,我的英语不好

这是错误的,应该是

if($role == "POOL") {
  /*Code goes here*/
}

因为=将为变量$role分配值POOL ,所以请使用==进行比较,或使用===进行类似数据类型的比较

=是分配。 ==是比较。 放入if($role == "POOL") ,它应该可以正常工作。

您关心在if($role = "POOL")分配值,而是使用==应该是if($role == "POOL")

=是赋值运算符, ==相等运算符。

  1. =是赋值运算符。 b = 1会将变量b设置为等于值1。

  2. ==是相等运算符。 如果左侧等于右侧,则返回true;如果左侧不等于右侧,则返回false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM