Syntax PHP解析错误:语法错误,意外的T\u IF

Syntax PHP解析错误:语法错误,意外的T\u IF,syntax,if-statement,php,Syntax,If Statement,Php,我看了很多其他的问题,但我找不到自己的答案。 以下是我的语法错误(未失效的T_IF): 我看了语法之前的那行,但我找不到哪里错了。。。 有人知道吗?尝试将代码改写为: while ($rij1 = mysql_fetch_object($result1)) { if ($voornaam === NULL) { $rij2 = ' '; } else { $rij2 = mysql_fetch_object($resul

我看了很多其他的问题,但我找不到自己的答案。 以下是我的语法错误(未失效的T_IF):

我看了语法之前的那行,但我找不到哪里错了。。。
有人知道吗?

尝试将代码改写为:

while ($rij1 = mysql_fetch_object($result1))
{
    if ($voornaam === NULL) 
    {
        $rij2 = ' ';
    } 
    else
    {
        $rij2 = mysql_fetch_object($result2);
    }
}
编辑:在第一个
if
中更正了您的条件,因为@andrewsi发现-
=
是赋值运算符,所以之前您的代码将
$voornaam
更改为
NULL
,然后检查结果是否计算为
true
(当然,它永远不会-因此第二个块将始终执行)

在原始代码中,您使用的是
运算符-可能在一些善意但编码不好的示例中使用过它,例如
mysql\u connect(…)或die('发生错误')


在该示例中,第一条语句的结果-
mysql\u connect()
-被选中。如果它的计算结果为true,则第二条语句永远不会执行,但如果它的计算结果为false,则第二条语句-
die(“发生错误”)-已执行。正如您刚刚发现的,这种模式令人困惑,最好避免使用。

尝试将代码改写为:

while ($rij1 = mysql_fetch_object($result1))
{
    if ($voornaam === NULL) 
    {
        $rij2 = ' ';
    } 
    else
    {
        $rij2 = mysql_fetch_object($result2);
    }
}
编辑:在第一个
if
中更正了您的条件,因为@andrewsi发现-
=
是赋值运算符,所以之前您的代码将
$voornaam
更改为
NULL
,然后检查结果是否计算为
true
(当然,它永远不会-因此第二个块将始终执行)

在原始代码中,您使用的是
运算符-可能在一些善意但编码不好的示例中使用过它,例如
mysql\u connect(…)或die('发生错误')


在该示例中,第一条语句的结果-
mysql\u connect()
-被选中。如果它的计算结果为true,则第二条语句永远不会执行,但如果它的计算结果为false,则第二条语句-
die(“发生错误”)-已执行。正如您刚刚发现的,这种模式很容易混淆,最好避免使用。

if语句应该是
if($voornaam==NULL){
+1适当的缩进使代码更易于阅读谢谢大家,哈哈,很抱歉我不经常这样做……但是现在我在第22行出现了语法错误,一个意外的“{”(第22行是这里的第一行)@user1813397您的代码在
while
语句中也有一个无关的
,这导致了错误-我在最近的编辑中已将其删除。@KelvinMackay:else if没有意义(始终为真),也可以将NULL与
===
三个进行比较。如果在其中保留一些空间,则更清晰。仅针对此处的代码,您不需要在家中以这种方式编写代码。If语句应为
If($voornaam==NULL){
+1适当的缩进使代码更易于阅读谢谢大家,哈哈,很抱歉我不经常这样做……但是现在我在第22行遇到了一个语法错误,一个意外的“{”(第22行是这里的第一行)@user1813397您的代码也有一个无关的
while
语句中,这导致了该错误-我在最近的编辑中已将其删除。@KelvinMackay:else if没有意义(始终为真),也可以将NULL与
==
三比较。如果您在其中保留一些空间,它会更清晰。就这里的代码而言,您不需要在家中以这种方式编写代码。那里的
如果
有什么关系?
希望表达式作为其操作数,而不是语句。您想做什么?它们是no已不再维护,并且已开始使用。请参阅?改为了解,并使用或-将帮助您决定使用哪一个。如果选择PDO,
如果有什么关系?
希望表达式作为其操作数,而不是语句。您正在尝试执行什么操作?。它们不再维护,并且已开始使用在上面。请参阅?了解,然后使用或-将帮助您决定使用哪个。如果您选择PDO。