2012-11-14 120 views
-3

林試圖說如果我的網頁上的變量爲空,然後回顯X,否則回顯Y.PHP如果/ Else語句失敗,語法錯誤?

我有以下我認爲是正確的只有我的網頁不呈現?任何人都可以看到即將出錯的地方嗎?

if($row["build"] == ""){ echo . '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' . } else { echo '<dt>Age:</dt><dd>' . $row["Age"]; . '</dd></dt>'}; 
+0

PHP解析器通常會看到語法錯誤。它還會報告錯誤,除非禁用。點,順便說一句。 – mario

+0

具有正確縮進的格式,以及'echo'之後和'} else {'之前的'''concat運算符將變得明顯。 –

+0

開發/測試時,應始終打開error_reporting/display_errors。通過不隱藏你的錯誤,使生活變得輕鬆一些。 –

回答

1

有一對夫婦在這裏的語法錯誤的

if($row["build"] == ""){ echo **.** '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' . } else { echo '<dt>Age:</dt><dd>' . $row["Age"]**;** . '</dd></dt>'}**;** 

應該是:

if($row["build"] == ""){ echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>'; } else { echo '<dt>Age:</dt><dd>' . $row["Age"] . '</dd></dt>';} 

或更好:

if($row["build"] == ""){ 
    echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>'; 
}else{ 
    echo '<dt>Age:</dt><dd>' . $row["Age"] . '</dd></dt>'; 
} 
+0

或'echo'

Age:
',($ row ['build']?$ row ['Age']:'沒有提供信息'),'
'; ':P – cHao

+0

我喜歡你的風格先生:) –

0

的點是用於連接字符串這樣php期望在點之前和之後有一個字符串:

echo . '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' . 

應該是:

echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' 
0

在這裏你去...你應該使用isset這個(帶感嘆號前信號not)。此外,我刪除了一些時期。

if(!isset($row['build'])){ 
    echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>'; 
} else { 
    echo '<dt>Age:</dt><dd>'.$row["Age"].'</dd></dt>'; 
} 
2

你有.;在那裏扔任何舊如何,這是造成語法錯誤,並且你可能有display_errors禁用。