2011-12-01 42 views
0
<?php do { ?> 
<?php 
    if(isset($row['website']) && !empty($row['website'])) 
{ 
    echo '<a href="'.$row['website'].'" target="_self\">'.$row['name'].''.$row['publisher'].'</a>'; 
} else { 
    echo .$row['name'].$row['publisher']; 
} 
?> 

<?php } while ($row = mysql_fetch_assoc($rowDetails)); ?> 

我越來越語法錯誤,我找不到 有人可以幫助我嗎?錯誤的PHP和MySQL

+1

請分享錯誤訊息。 –

+0

爲什麼所有的打開和關閉php標籤?同樣,你不需要'isset'和'!empty'條件,只是'!empty'會做 – JamesHalsall

回答

0

$row['name']而不是$row['name]

此外,你可以這樣寫代碼那樣:

if (isset($row['website']) && !empty($row['website'])) 
    echo '<a href="'.$row['website'].'" target="_self\">'.$row['name].$row['publisher'].'</a>'; 
else 
    echo $row['name'].$row['publisher']; 

或者更好:

echo (isset($row['website']) && !empty($row['website'])) ? 
    '<a href="'.$row['website'].'" target="_self\">'.$row['name].$row['publisher'].'</a>' : 
     $row['name'].$row['publisher']; 
+0

我試過這段代碼,但給我語法錯誤 – Mark

2

您在這裏缺少一個右單引號 - >$row['name]

應該$row['name']

此外,閱讀了關於該empty功能,它不會工作在引用數組成員;它只適用於變量。

UPDATE

你也有你的else塊的問題 - >echo .$row['name']...

你需要刪除 ''在$row之前。

+0

$ row ['name']在我發佈時輸入錯誤,實際上其他類似案例的空函數工作 – Mark

+0

好;在那種情況下你得到的錯誤是什麼? –

+0

解析錯誤:語法錯誤,意外'。' – Mark

0

不要用那麼多的語句。 Php是一種腳本語言,可以即時編譯(假設沒有APC或緩存),通過擁有如此多的開放和關閉php語句,您可以爲Php提供更多的工作。