Php 在mysql中插入元素数量可以变化的数组

Php 在mysql中插入元素数量可以变化的数组,php,mysql,arrays,csv,Php,Mysql,Arrays,Csv,我已经为我的最后一个问题找到了一些解决方案:,现在让我解释一下我的问题是什么。 由于我的应用程序的用户可以在我的数据库的表中创建自定义列,因此我找到了一种通过运行以下查询来存储列数和列名的方法: SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='$tblname'" 我将结果存储在另一个数组中。现在,由于我的用户可以选择将CSV文件导入他们的自定义表(具有自定义列数),我这样做了: $file = $_F

我已经为我的最后一个问题找到了一些解决方案:,现在让我解释一下我的问题是什么。 由于我的应用程序的用户可以在我的数据库的表中创建自定义列,因此我找到了一种通过运行以下查询来存储列数和列名的方法:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='$tblname'" 
我将结果存储在另一个数组中。现在,由于我的用户可以选择将
CSV
文件导入他们的自定义表(具有自定义列数),我这样做了:

$file = $_FILES['file']['tmp_name'];
        $handle = fopen($file, "r");
        $name = $_FILES['file']['name'];
if (strrpos($name, '.csv', -4)) {//recognises if uploaded file is .csv
        do {
           if ($data[0]) {
                $query = "INSERT INTO $tabela (";
                $last = end($anotherArray);//$anotherArray holds names and number of columns user have made
                foreach ($anotherArray as $something) {
                    if ($something != $last) {
                        $query .= "" . $something . ",";
                        } else {
                            $query .= "" . $something . ")";
                            }
                        }

            $query .= "VALUES (";
因此,由于上传的csv文件将如下所示:

请再次注意,这是一个测试文件,一些用户可能会在他的表中创建9个自定义列,并且他的文档在csv文件的一行中有9个值。 我制作脚本的这一部分是为了将该csv的值生成一个数组:

$lengtara = count($anotherArray);

                $length1 = count($data);//$data is array with csv file values
                $nizDuzina = count($anotherArray);
                $restructured1 = [];
                for ($i = 0; $i < $length1; $i += $nizDuzina) { // note the $i+=$nizDuzina increments $i by number of columns in database table.
                for ($j = 0; $j < $nizDuzina; $j++) {
                $restructed1 [$j] = $data[$i + $j];//this is a key thing in my script!
                    }
        }
        }
        }
                while ($data = fgetcsv($handle, 1000, ",", "'")) ;
$query = rtrim($query, ',');
                $query .= ")";
                //var_dump($query);
                $rez = $mysqli->query($query);
现在这是我问题的一个关键点:如何将这样的数组导入到数据库中,但以某种动态的、通用的方式导入,这样,如果数组中的数组同时包含2个或7个元素,它就可以适用于示例了

Array ( [0] => 123123123 [1] => Ognjen [2] => Babic ) Array ( [0] => 23423423 [1] => Neven [2] => Babic ) Array ( [0] => 235646345 [1] => Vanja [2] => Babic ) Array ( [0] => 4853424 [1] => Nikola [2] => Babic ) Array ( [0] => 34545747 [1] => Viktor [2] => Sovilj )