语法错误,意外$ end

时间:2010-06-28 07:32:54

标签: php

这个php嵌入在html中的时间已经很少了但是有些错误,因为我收到错误:

解析错误:语法错误,第678行的C:\ Program Files \ xampp \ htdocs \ profile.php中的意外$结尾

<select value='$pays' name='pays' id='pays' style='width: 204px;margin-bottom: 5px; outline-width:0;'>
<?php
$result = mysql_query("SELECT pays_az, pays_zz, pays_or FROM in_lays WHERE pays_flush = '1' ORDER BY pays_nom ASC");
while ($row = mysql_fetch_array ($result) )
{  ?>
     <option value="<?php echo $row['dd']; ?>"

     <?php   if($row['dd_id'] == $pays)
     {
        echo 'selected="selected" ' ;
     }
     else
     {
           if($row['dd_id'] == "61")
        {
       echo 'selected="selected"' ;
        }
     }
 ?>><?php echo $row['lala']; ?></option>
<?php}?>

</select>

不要注意sql请求中的名字。

4 个答案:

答案 0 :(得分:4)

<?php}?>更改为<?php } ?>,我认为存在问题(您应该尝试更好地格式化代码,阅读它会感到非常恐怖。)

修改 如果不改变太多,我会像这样格式化你的代码:

<select value="<? echo $pays; ?>" name="pays" id="pays" style="width: 204px;margin-bottom: 5px; outline-width:0;">
    <?
    $result = mysql_query("
            SELECT
                pays_az,
                pays_zz,
                pays_or
            FROM
                in_lays
            WHERE
                pays_flush = '1'
            ORDER BY
                pays_nom ASC
            ");
    while($row = mysql_fetch_array($result)){
    ?>
        <option value="<? echo $row['dd']; ?>"
            <?
            if($row['dd_id'] == $pays || $row['dd_id'] == "61"){
                echo ' selected="selected"';
            }
            ?>
        ><? echo $row['lala']; ?></option>
    <?
    }
    ?>
</select>

注意:我使用(邪恶的)短php标签,但你可以改变它。我在与{if - 语句相同的符号中写下开头while,并且不要使用太多空格(但这取决于个人喜好)。重要的是将代码缩进以便可读。

答案 1 :(得分:3)

错误消息“unexpected $ end”表示一个或多个块未正确关闭,就像缺少结束}一样。但是你的代码似乎是正确的。你应该看看你的其他控制结构,看看是否所有东西都在它的位置。


编辑我想我明白了:虽然你的代码似乎在语法上是正确的,但<?php}?>是解析器所扼杀的。将其设为<?php }?>,它应该可以正常工作。

答案 2 :(得分:3)

Маке

<?php}?>

<?php } ?>

如果在第一行$支付一个php变量。如果是 - 请回复它

答案 3 :(得分:1)

你没有正确地试着关闭:

<select value='$pays' name='pays' id='pays' style='width: 204px;margin-bottom: 5px; outline-width:0;'>  
<?php
$result = mysql_query("SELECT pays_az, pays_zz, pays_or FROM in_lays WHERE pays_flush = '1' ORDER BY pays_nom ASC");

while ($row = mysql_fetch_array ($result) ):  ?>

<option value="<?php echo $row['dd']; ?>"

<?php   if($row['dd_id'] == $pays)
{
    echo 'selected="selected" ' ;
}
else
{
    if($row['dd_id'] == "61")
    {
        echo 'selected="selected"' ;
    }
}
?>

<?php echo $row['lala']; ?></option>  

<?php endwhile; ?>

</select>