PHP解析错误:语法错误,意外的T
我看了很多其他问题,但我无法找到自己的答案。 这是我的语法错误(未展开的T_IF):
while(($rij1 = mysql_fetch_object($result1))
and( if ($voornaam=NULL) {
$rij2 = ' ';}
elseif($voornaam!=NULL){
$rij2 = mysql_fetch_object($result2);})
我在语法之前查看了行,但是我找不到错在哪里......有人知道吗?
尝试重写你的代码:
while ($rij1 = mysql_fetch_object($result1))
{
if ($voornaam === NULL)
{
$rij2 = ' ';
}
else
{
$rij2 = mysql_fetch_object($result2);
}
}
编辑:纠正你的条件在第一个if
,因为@andrewsi spotted - =
是一个赋值操作符,所以之前你的代码将$voornaam
改为NULL
,然后检查结果是否为true
(当然,它永远不会)所以第二个块总是会执行)
在你原来的代码中,你使用的是and
运算符 - 大概看到它在一些很好的意义上使用,但是编码不好的例子,比如mysql_connect(...) or die('an error occurred');
。
这个例子中发生的事情是,检查第一条语句mysql_connect()
的结果。 如果它的计算结果为true,那么第二个语句从不执行,但如果它的计算结果为false,那么第二个语句 - die('an error occurred');
- 执行。 正如你刚发现的那样,这种模式很混乱,并且最好避免。