Возможный сценарий
Я не могу найти, где мой код поступил не так. Вот моя полная ошибка:
Ошибка анализа: ошибка синтаксиса, неожиданный 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);
Также неплохо использовать среду IDE, которая позволит вам знать ошибки разбора при наборе текста. Вы можете использовать:
- NetBeans (прекрасный мир красоты, бесплатное программное обеспечение) (лучший, на мой взгляд)
- PhpStorm (дядя Гордон любит это: P, платный план, содержит проприетарное и бесплатное программное обеспечение)
- Eclipse (красота и зверь, бесплатное программное обеспечение)
Вопросы, относящиеся:
using System.IO;
using System.Text;
using (StreamWriter sw = new StreamWriter(File.Open(myfilename, FileMode.Create), Encoding.WhateverYouWant))
{
sw.WriteLine("my text...");
}
альтернативный способ получить Ваше кодирование:
using System.IO;
using System.Text;
using (var sw = new StreamWriter(File.Open(@"c:\myfile.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1"))) {
sw.WriteLine("my text...");
}
Выезд документы для конструктора StreamWriter.
Простой!
System.IO.File.WriteAllText(path, text, Encoding.GetEncoding(28591));
Измените Кодирование потокового писателя. Это - свойство.
http://msdn.microsoft.com/en-us/library/system.io.streamwriter.encoding.aspx
Так:
sw.Encoding = Encoding.GetEncoding(28591);
До записи в поток.
У Вас может быть что-то вроде этого
switch (EncodingFormat.Trim().ToLower())
{
case "utf-8":
File.WriteAllBytes(fileName, ASCIIEncoding.Convert(ASCIIEncoding.ASCII, new UTF8Encoding(false), convertToCSV(result, fileName)));
break;
case "utf-8+bom":
File.WriteAllBytes(fileName, ASCIIEncoding.Convert(ASCIIEncoding.ASCII, new UTF8Encoding(true), convertToCSV(result, fileName)));
break;
case "ISO-8859-1":
File.WriteAllBytes(fileName, ASCIIEncoding.Convert(ASCIIEncoding.ASCII, Encoding.GetEncoding("iso-8859-1"), convertToCSV(result, fileName)));
break;
case ..............
}