0

我有一些代码还没有工作,在我调试之前,我想确保这个语法或方法确实可以工作,并且实际上只有在最后一个条件为真时才执行 mysql_query。

另外,这是一种相对安全的做法吗?我找不到与此相关的任何内容,我想有人把它用英文写出来会帮助我解决这个问题。

if($var1 == $var2) {$new = 1;}
if($vara == $varb) {$old = 1;}
if($new = 1 && $old = 1) { mysqli_query($somequery);}
4

1 回答 1

8

由于单个 =,这将不起作用。

去做:

if($var1 == $var2) {$new = 1;}
if($vara == $varb) {$old = 1;}
if($new == 1 && $old == 1) { mysqli_query($somequery);}

或者,理想情况下:

if ($var1 == $var2 && $vara == $varb) {
    mysqli_query($somequery);
}

停止诸如if ($var = 1)拼写错误之类的顶级提示 - 切换比较并将常量放在首位。

如果你写if ($var = 1),那么 $var 变为 1 并且总是正确的,但是如果你写if (1 = $var)你会得到一个错误,这正是你想要的(如果你使用 string 也会发生同样的情况if ("yes" = $var)

一直以来,我们一直把变量放在第一位,但最好反过来做。

于 2013-06-25T15:28:43.280 回答