在PHP中调试简单的IF语句

在PHP中调试简单的IF语句,php,database,session,if-statement,while-loop,Php,Database,Session,If Statement,While Loop,代码 不起作用-- 工作 我如何解决这个问题$你很好。谢谢。我相信 $responseanswer['onuser']=='$u' 应该是 $responseanswer['onuser']==$u 如果没有单引号,$u我相信 $responseanswer['onuser']=='$u' 应该是 $responseanswer['onuser']==$u 如果在$u周围没有单引号,则不会为其中的变量插入单引号。这应该起作用: if($responseanswer['onuser']==

代码

不起作用--

工作

我如何解决这个问题$你很好。谢谢。

我相信

$responseanswer['onuser']=='$u'
应该是

$responseanswer['onuser']==$u
如果没有单引号,
$u

我相信

$responseanswer['onuser']=='$u'
应该是

$responseanswer['onuser']==$u

如果在
$u

周围没有单引号,则不会为其中的变量插入单引号。这应该起作用:

if($responseanswer['onuser']==$u && $responseanswer['response']=='')
但有一件事需要注意,我强烈建议您格式化您的cod ebetter。在适当的地方包括空格,并始终缩进范围。因此,该代码将成为:

$u = $_SESSION['username'];
while ($responseanswer=mysqli_fetch_array($rquery)) {
    if ($responseanswer['onuser'] == $u && $responseanswer['response'] == '') {
        echo "awesome";
    }
}

单引号内的变量不插值。这应该起作用:

if($responseanswer['onuser']==$u && $responseanswer['response']=='')
但有一件事需要注意,我强烈建议您格式化您的cod ebetter。在适当的地方包括空格,并始终缩进范围。因此,该代码将成为:

$u = $_SESSION['username'];
while ($responseanswer=mysqli_fetch_array($rquery)) {
    if ($responseanswer['onuser'] == $u && $responseanswer['response'] == '') {
        echo "awesome";
    }
}

之间有很大的区别

试试这个:

$a = "foo";
echo('$a' . " $a"); // You'll get: $a foo
无论如何,不要为了比较而将变量放入字符串中。只需使用
$responseanswer['onuser']=$u


祝你好运!

之间有很大的区别

试试这个:

$a = "foo";
echo('$a' . " $a"); // You'll get: $a foo
无论如何,不要将变量放入字符串中只是为了比较它们。只需使用
$responseanswer['onuser']==u


祝你好运

当然……我会这么做……出于安全目的,我使用会话的方式正确吗?@sarthak:不知道你到底想做什么,很难说你所做的从安全角度看是否有意义……当然……我会这么做……我使用会话的方式出于安全目的是否正确?@sarthak:如果不知道你到底想做什么,很难说你所做的从安全角度看是否有意义。。。