Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在数据库中上载csv文件-php_Php_Csv_File Upload_Fgetcsv - Fatal编程技术网

在数据库中上载csv文件-php

在数据库中上载csv文件-php,php,csv,file-upload,fgetcsv,Php,Csv,File Upload,Fgetcsv,这是我的密码。我得到错误“注意:未定义的偏移量:9”。如果我在$item9之前拥有它,那么它可以工作,但实际上我希望在$item13之前拥有它 if(isset($_POST["submit"])) { if($_FILES['file']['name']) { $filename = explode(".", $_FILES['file']['name']); if($filename[1] == 'csv') {

这是我的密码。我得到错误“注意:未定义的偏移量:9”。如果我在$item9之前拥有它,那么它可以工作,但实际上我希望在$item13之前拥有它

if(isset($_POST["submit"]))
{
    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[6]);
                $item8 = mysqli_real_escape_string($connect, $data[7]);
                $item9 = mysqli_real_escape_string($connect, $data[8]);
                $item10 = mysqli_real_escape_string($connect, $data[9]);


                $query = "INSERT into tab1(country, jan, feb,mar,apr,may,jun,jul,aug) values('$item1','$item2','$item3','$item4','$item5','$item6','$item7','$item8','$item9','$item10')";
                mysqli_query($connect, $query);
            }
            fclose($handle);

你在最后的评论中回答了自己。所以,照你说的去做-例如,像这样替换每个项目行:

$item1 = array_key_exists(0, $data) ? mysqli_real_escape_string($connect, $data[0]) : '0';

不,我的错误是针对未定义的偏移量,重复q中的第三个通知类型是?您的一行没有第9个索引。在
中执行
打印($data)
,同时查看每行的输出(注释掉变量声明/查询)。我尝试过,但错误仍然存在same@PX. print r只是简单地输出数据,以便您可以在屏幕上看到它并进行调试-这不是一个修复程序,我尝试了它,错误仍然是您正确替换示例中的值的相同ID?了解数组\键\存在函数和速记if/else。祝你好运:)