Я делаю автоматический наполнитель базы данных, и я столкнулся с ошибкой, которую я не могу понять.Динамический запрос INSERT INTO
Я разрабатываю скрипт, который должен обрабатывать множество файлов, содержащих несколько значений. Информация, содержащаяся в файлах, имеет структуру, которая следует:
ID time_stamp (value1 value2 Value3 Value4 value5) * I (value1 value2 Value3 Value4 value5) * п (значение1 значение2) -> в строке файла
я и п (п = nGrupos) известны и я изменяется от 1 до я и п изменяется от 1 до 2. Каждая из кронштейнов, установленных должна быть вставлена в другую таблицу, отсюда и 5 значения ниже.
Код, который у меня возникают проблемы (я не могу получить другие кронштейны наборы для работы, но если он работает для этого им, он должен работать для остальных):
$pos = 2;
$query = $con->query($query);
$rows = $stmt->fetch(PDO::FETCH_ASSOC);
for($i = 0; $i < $rows['nGrupos'] ; $i++)
{
$stmt = "INSERT INTO `registo grupos majo`
VALUES ('',
'1',
'$line[1]',
'$line[($pos+$i)]', //line 109
'$line[(($pos+1)+$i)]',
'$line[(($pos+2)+$i)]',
'$line[(($pos+3)+$i)]',
'$line[(($pos+4)+$i)]')";
$query = $con->query($stmt);
}
Когда я пытаюсь запустить это я получаю сообщение об ошибке: Синтаксическая ошибка:
syntax error, unexpected '(', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in (location of the .php) on the line 109.
попробовать это нравится .... ' '{$ строка [1]}',' –
или использовать запросы с параметрами PDO .. http://php.net/manual/en/pdo.prepare.php –
^это или '' ". $ line [($ pos + $ i)]. "'или даже лучше: используйте подготовленное утверждение – kero