2012-06-09 228 views
-2

我回到php 5年之后,我需要以下帮助:)请不要告诉我错误:解析错误:语法错误,意想不到的T_STRING,期待','或';'在header.php中(第一回声调用)在echo语句中解析“解析错误:语法错误,意外的T_STRING”

<?php 
$result = mysql_query("SELECT * FROM menu WHERE disabled=0 ORDER BY orderx ASC") or die(mysql_error()); 
$i=1; 
while($row = mysql_fetch_array($result)) { 

    echo "<li class='sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'" onmouseover=\"mopen('m2')\" onmouseout=\"mclosetime()\">'.link_text($row[link]).'</a>"; 
    echo "<div id='m2' onmouseover='mcancelclosetime()' onmouseout='mclosetime()'>"; 
    echo "<a href='#'>ASP Dropdown</a>"; 
    echo "<a href='#'>Pulldown menu</a>"; 
    echo "<a href='#'>AJAX dropdown</a>"; 
    echo "<a href='#'>DIV dropdown</a>"; 
    echo "</div>"; 
    echo "</li>"; 

    <!--echo '<li class="sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'">'.$row[title.langfix()].'</a>';--> 
    echo'</li>'; 
    $i++; 

} 
?> 

回答

4

你的报价都出现了混乱:

echo "<li class='sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'" 

应该

echo '<li class="sddm"'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'" 

您可以相应地交换了引号如果你想在你的HTML中使用单引号,但是这应该告诉你你的错误在哪里。

+0

谢谢你的帮助。我试过了。错误依然存在。 – dramaticlook

+0

您是否检查了所有的报价以确保它们是正确的? –

2
echo '<li class="sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row["link"]).'" onmouseover="mopen(\'m2\')" onmouseout="mclosetime()">'.link_text($row["link"]).'</a>'; 
echo '<div id=\'m2\' onmouseover=\'mcancelclosetime()\' onmouseout=\'mclosetime()\'>'; 
echo '<a href=\'#\'>ASP Dropdown</a>'; 
echo "<a href='#'>Pulldown menu</a>"; 
echo "<a href='#'>AJAX dropdown</a>"; 
echo "<a href='#'>DIV dropdown</a>"; 
echo "</div>"; 
echo "</li>"; 

echo '<li class="sddm'.$i.' '.$row["extra"].'"><a href="'.link_text($row[link]).'">'.$row["title"].langfix().'</a>'; 
echo'</li>'; 
$i++; 
+0

我试过了,但它仍然是错误的:/ – dramaticlook

+0

我已经更新了代码,注意到mysql的字段名也需要引号。 –

0

当你有复杂的报价来管理,可以考虑使用printf()

printf(
    '<li class="sddm%d" %s><a href="%s" onmouseover="mopen(\'m2\')" onmouseout="mclosetime();">' 
    , $i 
    , htmlentities($row['extra']) 
    , htmlentities(link_text($row['link'])) 
); 
+0

不妨发布一个单独的答案。几乎所有的令牌'我怎么回声带有引号的字符串'的答案在这里说明。 – 2012-06-10 15:11:10

+0

完成。谢谢 – Steve

0

echo <<<END换行符内容换行符END;工作得很好,也分析变量,忽略了报价,直到END;

相关问题