PHP - 这种语法是否可行,是否安全

Gho*_*cho 0 php syntax mysqli

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

另外,这是一种相对安全的做法吗?我找不到与此相关的任何内容,我认为有人用英语将其用于帮我清除这一点.

if($var1 == $var2) {$new = 1;}
if($vara == $varb) {$old = 1;}
if($new = 1 && $old = 1) { mysqli_query($somequery);}
Run Code Online (Sandbox Code Playgroud)

Gri*_*... 8

由于单个=,这不起作用.

去做:

if($var1 == $var2) {$new = 1;}
if($vara == $varb) {$old = 1;}
if($new == 1 && $old == 1) { mysqli_query($somequery);}
Run Code Online (Sandbox Code Playgroud)

或者,理想情况下:

if ($var1 == $var2 && $vara == $varb) {
    mysqli_query($somequery);
}
Run Code Online (Sandbox Code Playgroud)

最重要的提示,以阻止像if ($var = 1)打字错误这样的事情- 切换比较并将常量放在第一位.

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

我们一直把这个变量放在第一位,因为永远都是这个变量,但是相反,你做得更好.