Ошибка разбора: синтаксическая ошибка, неожиданный T_ENCAPSED_AND_WHITESPACE

У меня может быть синтаксическая ошибка или что-то, но я ничего не вижу.

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

На линии эха у меня есть ошибка:

[ошибка] [клиент] PHP Parse error: синтаксическая ошибка, неожиданная
T_ENCAPSED_AND_WHITESPACE, ожидая T_STRING или T_VARIABLE или
T_NUM_STRING в /var/www/slimtest/views/nuevo.php в строке 89

Может быть, вы можете помочь, потому что я не вижу ошибку D «=

1

Решение

Это должно работать:

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

Другие решения

При использовании переменных массива внутри строк обычно лучше использовать сложный синтаксис:

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

В качестве альтернативы вы можете удалить кавычки в ключе массива:

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

Разбор строковых переменных PHP

1

Попробуйте изменить строку эха на это:

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

Эта строка беспорядок

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

Во-первых, вы не можете использовать другие символы вокруг <option> тег ( <br> тег там не имеет смысла). И тогда вы оставляете текст тега пустым. Наконец, вы используете двойные кавычки вокруг всего, оставляя PHP, чтобы попытаться интерпретировать это. Держу пари, вы пытаетесь сделать это вместо этого.

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

Это сгенерирует правильный тег и заполнит его текстом вашего поля (чтобы пользователи могли видеть, что они выбирают). То, как вы это сделали, даже если бы это был правильный HTML, вы бы выпали из пустых записей.

0
По вопросам рекламы [email protected]