这是我的 CSV 文件:
https://drive.google.com/open?id=0B_1cAszh75fYTjdobFMwVFdVT2c
这是我上传 CSV 文件并将数据插入到我的 mysql 表的代码:
if(isset($_POST["submit"]))
{
$ddates = $_POST['uploaddate'];
if($_FILES['file']['name'])
{
$filename = explode('.',$_FILES['file']['name']);
if($filename[1] == 'csv')
{
$handle = fopen($_FILES['file']['tmp_name'], "r");
while($data = fgetcsv($handle))
{
$item1 = mysqli_real_escape_string($connect, $data[0]);
$item2 = mysqli_real_escape_string($connect, $data[1]);
$item3 = mysqli_real_escape_string($connect, $data[2]);
$item4 = mysqli_real_escape_string($connect, $data[3]);
$item5 = mysqli_real_escape_string($connect, $data[4]);
$item6 = mysqli_real_escape_string($connect, $data[5]);
$item7 = mysqli_real_escape_string($connect, $data[5]);
$item8 = mysqli_real_escape_string($connect, $data[6]);
$item9 = mysqli_real_escape_string($connect, $data[6]);
$item10 = mysqli_real_escape_string($connect, $data[7]);
$item11 = mysqli_real_escape_string($connect, $data[7]);
$item12 = mysqli_real_escape_string($connect, $data[8]);
$item13 = mysqli_real_escape_string($connect, $data[9]);
$item14 = mysqli_real_escape_string($connect, $data[10]);
$item15 = mysqli_real_escape_string($connect, $data[11]);
$item16 = mysqli_real_escape_string($connect, $data[12]);
$sql="INSERT into tblone(uploaddate, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen) values('$ddates', '$item1','$item2','$item3','$item4','$item5','$item6','$item7','$item8','$item9','$item10','$item11','$item12','$item13','$item14','$item15','$item16')";
mysqli_query($connect, $sql);
}
fclose($handle);
print "Import done";
}
}
}
当我尝试上传 CSV 文件时,它显示错误“注意:未定义的偏移......:”
我知道为什么它显示错误。如您所见,我的 csv 文件有 9 列,列标题位于顶部。但接下来的 4 列没有任何标题。我的意思是“借方金额”“贷方金额”等在这些列的顶部没有值/标题。
就上传 CSV 文件并将数据插入 mysql 表而言,我的代码工作正常。但这个错误看起来不太好。
我希望执行代码时不显示任何错误。
任何有关此问题的帮助都将受到高度赞赏。
最佳答案
只需将此代码放在 phpfile 之上
error_reporting(0);
或首先使用 isset 示例代码进行验证:
$data1 = (isset($data[0])) ? $data[0] : '';
依此类推,然后将值发送到此处
$item1 = mysqli_real_escape_string($connect, $data1);
关于php - 上传顶部有空白单元格的 CSV 文件时出现未定义偏移错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40371761/