我有一个代码,允许用户将数据从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);