我看了很多其他问题,但我找不到自己的答案。 这是我的语法错误(未完成的T_IF):
while(($rij1 = mysql_fetch_object($result1))
and( if ($voornaam=NULL) {
$rij2 = ' ';}
elseif($voornaam!=NULL){
$rij2 = mysql_fetch_object($result2);})
我在语法之前看了一行,但我找不到有什么问题...... 有人知道吗?
答案 0 :(得分:4)
尝试将代码重写为:
while ($rij1 = mysql_fetch_object($result1))
{
if ($voornaam === NULL)
{
$rij2 = ' ';
}
else
{
$rij2 = mysql_fetch_object($result2);
}
}
修改:在第一个if
中更正了您的情况,因为@andrewsi被发现 - =
是一个赋值运算符,所以之前您的代码正在将$voornaam
更改为NULL
,然后检查结果是否评估为true
(当然,它永远不会 - 所以第二个块将始终执行)
在您的原始代码中,您使用的是and
运算符 - 可能已经看到它用于某些含义良好但编码较差的示例,例如mysql_connect(...) or die('an error occurred');
。
该示例中发生的是第一个语句的结果 - mysql_connect()
- 被检查。如果计算结果为true,则第二个语句永远不会执行,但如果计算结果为false,则执行第二个语句 - die('an error occurred');
- 。正如您刚刚发现的那样,这种模式令人困惑,最好避免使用。