Невозможность вставки данных из csv в базу данных mysql с неизвестным количеством столбцов

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

У меня есть ситуация, когда пользователь может определять пользовательские столбцы в таблицах в моей базе данных, а теперь мне нужно импортировать CSV файлы в пользовательские таблицы пользователя. Поскольку я недавно узнал, что таблицы должны быть «динамическими», так это то, как я обрабатывал импорт до:

 $file = $_FILES['file']['tmp_name']; $handle = fopen($file, "r"); $name = $_FILES['file']['name']; if (strrpos($name, '.csv', -4)) {//handling the csv file do { if ($data[0]) { $mysqli->query("INSERT INTO `test` (`name`, `surname`, `email`) VALUES ( '" . addslashes($data[0]) . "', '" . addslashes($data[1]) . "', '" . addslashes($data[2]) . "' ) "); } } while ($data = fgetcsv($handle, 1000, ",", "'")); 

И это отлично работало с статическими таблицами. Но так как я не знаю, сколько будет таблицы столбцов, я попробовал что-то вроде этого:

Метод построения запроса

  if (strrpos($name, '.csv', -4)) {//ubacije vrijednosti csv fajla u bazu do { if ($data[0]) { $query = "INSERT INTO $tabela ("; $last = end($anotherArray); foreach ($anotherArray as $something) {//$anotherArray contains names of fields in user's custom table if ($something != $last) { $query .= "" . $something . ","; } else { $query .= "" . $something . ")"; } } $query .= "VALUES ("; foreach($data as $val){ $query .= "'$val',"; } }while ($data = fgetcsv($handle, 1000, ",", "'")); $query=rtrim($query,','); $query.=")"; //var_dump($query); $rez=$mysqli->query($query); //var_dump($rez); 

Но проблема с этим кодом заключается в том, что если файл csv содержит, например, 2 или более таких столбцов: введите описание изображения здесь

все становится частью этой части запроса VALUES . Таким образом, запрос выглядит так: "INSERT INTO tabela12312334 (user_facebook_id,ime,prezime) VALUES('123123123','Ognjen','Babic','123123123','Neven',Babic)" и, конечно же, количество полей isn ' t то же, что и количество значений.

Пожалуйста, помогите мне решить это, я в отчаянии.

Solutions Collecting From Web of "Невозможность вставки данных из csv в базу данных mysql с неизвестным количеством столбцов"