Php mysql查询未收到正确响应。。。还是什么

Php mysql查询未收到正确响应。。。还是什么,php,mysql,Php,Mysql,好的,下面的代码应该清楚我想做什么, 对于我希望使用其标题运行代码的每一行,如果标题为0,则运行第一个if语句,如果标题为1,则运行第二个if语句 问题是,不管我将它设置为什么,如果语句思考头始终为1,它总是运行第二个语句,即使它不是 为了测试,我将echo(int)$row['header']添加到第二个if语句中,对于每一行,它都回显1 有人知道我该怎么做吗 谢谢你的帮助 我的php代码: $result = mysql_query("SELECT * FROM LeftMenu_items

好的,下面的代码应该清楚我想做什么, 对于我希望使用其标题运行代码的每一行,如果标题为0,则运行第一个if语句,如果标题为1,则运行第二个if语句

问题是,不管我将它设置为什么,如果语句思考头始终为1,它总是运行第二个语句,即使它不是

为了测试,我将echo(int)$row['header']添加到第二个if语句中,对于每一行,它都回显1

有人知道我该怎么做吗

谢谢你的帮助

我的php代码:

$result = mysql_query("SELECT * FROM LeftMenu_items");
while ($row = mysql_fetch_assoc($result))
{
    if ((int)$row['header'] = 0)
    {
        // echos value is on or not
        echo "<tr><td class='LeftMenu'><a href='" . $row['url'] . "'><b>" . $row['text'] . "</b></a></td></tr>\n";
    }
    else if ((int)$row['header'] = 1)
    {
        // header
        echo "<tr><td class='LeftMenu'>" . (int)$row['header'] . "<b>" . $row['text'] . "</b></td></tr>\n"; 
    }
    else echo "error displaying url";

问题是您正在分配一个变量,而不是进行比较

if((int)$row['header'] = 0)
应该是

if ((int)$row['header'] == 0)
这并不是一个罕见的错误,所以我有时会切换值和变量的顺序,只是为了清楚地表明我在比较和赋值

例如:

if (0 = (int)$row['header']) // even if you don't catch this as incorrect
                             // php will throw a 'parse error'
if (0 == (int)$row['header']) // correct, no error
一些有用的文档:
http://www.php.net/manual/en/language.operators.comparison.php

这种方法至少有一个问题。嗯,它是有效的,但现在我也收到了“注意:未定义索引:/path/”
注意:未定义索引:/path/
可能来自代码的另一部分。您似乎没有访问像此块中那样的任何索引。@user1071461-看,如果(this=that)是“赋值”,而不是比较,则执行
;它不等于if(this==that)
(注意双引号)。当您使用一个
=
时,您正在设置一个以上的比较变量。这取决于语言,如果它超过两个(
=
),以及(
truthyness
和所有)。哎呀,别担心,名字是“Header”而不是“Header”。。我不应该在凌晨4点做这件事:P现在很好用,谢谢^^
if (0 = (int)$row['header']) // even if you don't catch this as incorrect
                             // php will throw a 'parse error'
if (0 == (int)$row['header']) // correct, no error