PHP:导入具有空单元格/列的CSV文件时,列数不匹配

时间:2018-10-01 02:54:26

标签: php csv

我有一个代码,允许用户将数据从CSV文件导入/插入数据库。问题是,如果CSV文件中的列或单元格为空,则会显示一条错误消息,告诉我列计数与第1行的值计数不匹配。我尝试在CSV文件的空白单元格/列中分配一个值,并成功上传了该文件。即使列/单元格为空,如何允许用户上传CSV文件?下面是我的代码。

            if ($handle) {
                $counter = 0;
                $sql ="INSERT IGNORE INTO bill_of_materials(allotment_code, category_name, activity, quantity, unit, description, end_unit_quantity, unit_cost, regular_labor_cost, end_unit_labor_cost, type, batch) VALUES";

                while (($line = fgets($handle)) !== false) {

                    $sql .= "('".implode("', '", explode("|", addslashes(str_replace('"', '', $line))))."'),";
                    $counter++;
                }

                $sql = substr($sql, 0, strlen($sql) - 1);

                 if (mysqli_query($new_conn, $sql) === TRUE) {

                    $message = 1;

                } else {

                    echo mysqli_error($new_conn);
                }
                fclose($handle);

这是我的桌子: my table

,这是csv文件: csv file

0 个答案:

没有答案