PHP5 / MYSQL - IF value1 = value2然后死掉其他代码

时间:2011-11-12 16:59:41

标签: php mysql if-statement

我想制作一个简单的IF

IF $un = mysql_result
  die
else
  do some code.

这是为了防止具有相同名称的多个用户的流程表单。

$UN是从注册表单在PHP开头声明的变量。

问题是,即使它不是:

,它也能完成所有内容
if ($result = '$UN') {
  $errorMessage = "Name has been Taken";
  echo "User name is allready being Used, ";
  $_SESSION['ERRMSG_ARR'] = $errormessage;
  echo " Please Go Back and Try Again";
  //header("Location: register.php");
  exit();
}
else {
  echo "not taken -- ";
}

2 个答案:

答案 0 :(得分:1)

if条件下,将等于=的单个等号替换为==以进行比较。更好的是,使用三等于运算符===,它也比较类型。

另外,从正在使用的$UN变量中删除引号,以便在比较中使用其实际值。

答案 1 :(得分:0)

它击中了所有内容,因为它是一个赋值运算符,而不是一个比较运算符。'

if($result == '$UN') {
// your code
}

您确定要将$ result与字符串'$ UN'进行比较吗?这是一个奇怪的角色匹配。可能想检查一下。