Почему будет <% = %> выражения как значения свойств на выводе управления сервером к ошибки компиляции?

Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_VARIABLE

Возможный сценарий

Я не могу найти, где мой код поступил не так. Вот моя полная ошибка:

Ошибка анализа: ошибка синтаксиса, неожиданный T_VARIABLE в строке x

Что я пытаюсь

$sql = 'SELECT * FROM dealer WHERE id="'$id.'"';

Ответ

Ошибка анализа: проблема с синтаксисом вашей программы, например, оставляя точку с запятой от конца инструкции или, как и в случае выше, пропускает оператор ..

Простыми словами это синтаксическая ошибка, означающая, что в вашем коде есть что-то, что помешает правильному анализу и поэтому работает.

Что вам нужно сделать, так это внимательно проверить строки, где ошибка для любых простых ошибок.

Это сообщение об ошибке означает, что в строке x файла интерпретатор PHP ожидал увидеть открытую круглую скобку, но вместо этого он встретил нечто, называемое T_VARIABLE. Эта вещь T_VARIABLE называется token. Это способ интерпретации PHP-интерпретатора различных фундаментальных частей программ. Когда интерпретатор читает в программе, он переводит то, что вы написали, в список токенов. Где бы вы ни разместили переменную в своей программе, в списке интерпретатора есть токен T_VARIABLE.

Хорошо читается: Список токенов парсера

So убедитесь, что вы включили хотя бы E_PARSE в своем php.ini. Ошибки анализа не должны существовать в производственных сценариях.

Я всегда рекомендовал добавить следующий оператор при кодировании:

error_reporting(E_ALL);

Отчет об ошибках PHP

Также неплохо использовать среду IDE, которая позволит вам знать ошибки разбора при наборе текста. Вы можете использовать:

  1. NetBeans (прекрасный мир красоты, бесплатное программное обеспечение) (лучший, на мой взгляд)
  2. PhpStorm (дядя Гордон любит это: P, платный план, содержит проприетарное и бесплатное программное обеспечение)
  3. Eclipse (красота и зверь, бесплатное программное обеспечение)

Вопросы, относящиеся:

51
задан Community 23 May 2017 в 02:26
поделиться

1 ответ

Это:

<asp:Button runat="server" id="Button1" visible='<%= true %>' />

не оценивает к этому:

<asp:Button runat="server" id="Button1" visible='true' />

< % = %> выводы непосредственно к ответному потоку и разметке asp не является частью ответного потока. Это - ошибка принять < % = %> операторы выполняет любой вид предварительной обработки на разметке asp.

операторы

As an aside, it helps to think about the ASP.NET lifecycle with respect to the < % # %> and < % = %>.

  • < % # %> имеет семантику больше вместе с присвоением значения к объекту. В жизненный цикл ASP.NET, < % # %> операторы оценены, прежде чем страница пишет первый байт в буфер ответа.

  • < % = %> означает то же самое как Ответ. Записать. Мы должны выполнить всю нашу привязку данных и форму, обрабатывающую сначала, и произвести HTML к буферу ответа в самом конце жизненного цикла ASP.NET.

94
ответ дан Juliet 7 November 2019 в 10:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: