解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE

时间:2014-11-12 13:04:30

标签: php html compiler-errors syntax-error whitespace

我可能有语法错误或其他什么,但我什么都没看到。

<select id="cd" name="cd">
    <?php
    while($row=mysql_fetch_array($cdresult)) { 
        echo "('<option value='$row['Poblacion']'></option >'.'<br />)"; 
    } 
    mysql_close($link); 
    ?>
</select>

在回声线上,我有错误:

  

[error] [client] PHP Parse错误:语法错误,意外   T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或   第89行/var/www/slimtest/views/nuevo.php中的T_NUM_STRING

也许你可以提供帮助,因为我没有看到错误D“=

4 个答案:

答案 0 :(得分:1)

在字符串中使用数组变量时,通常最好使用复杂的语法:

echo "('<option value='{$row['Poblacion']}'></option >'.'<br />)"; 

或者,您可以删除数组键中的引号:

echo "('<option value='$row[Poblacion]'></option >'.'<br />)";

PHP String Variable Parsing

答案 1 :(得分:0)

尝试将回声线更改为:

echo '<option value="' . $row['Poblacion'] . '"></option >'; 

答案 2 :(得分:0)

这应该有效:

<select id="cd" name="cd">
    <?php
    while($row=mysql_fetch_array($cdresult)) { 
        echo "<option value=".$row['Poblacion']."></option><br/>"; 
    } 
    mysql_close($link); 
    ?>
</select>

答案 3 :(得分:0)

这条线是一团糟

echo "('<option value='$row['Poblacion']'></option >'.'<br />)"; 

首先,您无法在<option>标记周围使用其他字符(<br>标记在那里毫无意义)。然后将标签文本留空。最后,你在整个事情中使用双引号,让PHP尝试解释它。我的赌注是你尝试这样做。

echo '<option value="' . $row['Poblacion'] . '">' . $row['Poblacion'] . '</option>';

这将生成一个正确的标记,并使用您的字段文本填充它(这样用户就可以看到他们正在选择的内容)。你拥有它的方式,即使它是正确的HTML,你也只有一个空白条目的下拉列表。