Я получаю некоторые данные формы в переменной $ data (случайные поля с их значениями), отформатированные с помощью serializearray из Jquery. В любом случае, я хочу хранить все данные, поле за полем, значение за значением в таблице MYSQL, не зная ни имен столбцов, ни их значений, просто потому, что это форма, которая создается пользователем случайным образом. Он может создать таблицу из другого php файла с желаемыми полями. После этого он заполняет эти поля и отправляет их в таблицу со следующим кодом. Проблема заключается в запросе Insert. В нем написано: «Неизвестное поле после $ imageName. Я тестировал замену двойных кавычек, простые и т.д. cc ... и безрезультатно. Заранее спасибо.
$col_name = mysqli_real_escape_string($link,$_POST["table_name"]);
$imageName = $_POST["fileName"];
$data = $_POST["formValues"];
$sql = "INSERT INTO ".$col_name." (id,";
foreach($data as $key => $value)
{
$counter++;
//echo 'Key is: '.$key;
//echo 'Value is: '.$value.'\n';
$sql .= $key;
if($counter<count($data))
{
$sql .=",";
}
}
$sql .= ") ";
$counter=0;
$sql .= "VALUES (NULL, ";
foreach($data as $key => $value)
{
$counter++;
if($value==='image')
{
$sql .= '$imageName';
}
else
{
$sql .= '$value';
}
if($counter<count($data))
{
$sql .=", ";
}
}
$sql .= ") ";
echo $sql;
if(mysqli_query($link, $sql))
{
//echo "Collection created successfully.";
//echo 'ok';
//redirect('../addCollection.php', false);
}
else
{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);