Есть php скрипт, выполняющий запрос, добавляющий данные в БД (таблица price) из файла price.txt. При выполнении INSERT INTO `price` VALUES выдается ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Poi',2,1000,1500,2000,4000)' at line 1
Файл price.txt содержит данные в таком виде:
'Poi',2,1000,1500,2000,4000,
Вот полностью код php скрипта:
<?
include "connection.php";
$arr = file("price.txt");
$query = "INSERT INTO `price` VALUES ";
$i = 1;
foreach($arr as $line)
{
$number = explode(",", $line);
$order = "($i,";
foreach($number as $num)
{
$order .= "$num,";
}
$order = substr($order,0,strlen($order) - 3).")";
$query .= "$order,";
$i++;
}
$query = substr($query,0,strlen($query) - 1);
if(!mysql_query($query))
{
echo $query."<br>";
echo "Oshibka - ".mysql_error();
}
?>
Создание таблицы:
CREATE TABLE `price` (
`N` int not null auto_increment,
`title` char(200) not null,
`duration` int not null,
`localsum` char(100) not null,
`regionsum` char(100) not null,
`rfsum` char(100) not null,
`intersum` char(100) not null,
INDEX(`N`)
) ENGINE=MyISAM DEFAULT CHARSET="utf8";
Сразу скажу, что я уже много искал, ничего из найденного мне не помогло (таблицу пересоздавал, литералы стоят в ' ', название таблицы взято в ``, даже указывал все параметры - все одинаково, ошибка не уходит). Если ' ' убрать, то возникает ошибка Unknown column 'Poi' in 'field list'.
***************************************************
Проблема решена, достаточно было изменить кодировку файла price.txt на ANSI 1251. Спасибо за помощь!