使用php在mysql中加载csv文件时出错

时间:2014-10-21 03:46:31

标签: php mysql csv fopen

有些人可能会因为某些原因帮我解决我的错误而无法找出原因!!!! 我有大约45列,我只需要从表中使用1,2,3,4,7,8所以我不能加载一切。

    <? 
        $con=mysqli_connect("localhost","*******","*****","******");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
        //get the csv file
    $file = "tickets/feed/rtc.csv";
    $handle = fopen($file,"r");
    $count=0;
    $sid="32837459823";
    //loop through the csv file and insert into database
    do {
        if ($data[0]) {
            mysqli_query($con,"INSERT INTO carlist (id, stknum, vin, vt, stat, other, store_id) VALUES
                (
                    '".$count++."',
                    '".addslashes($data[7])."',
                    '".addslashes($data[8])."',
                    '".addslashes($data[2].$data[3].$data[4])."',
                    '".addslashes($data[1])."',
                    '".addslashes("0")."',
                    '".addslashes($sid)."'
                )
            ");
        }
    } while ($data = fgetcsv($handle,1000,",","'"));
    //
        ?>

这是我得到的错误

  

注意:未定义的变量:数据输入   /home1/inventory/mobile/actions/loadsubmit.php   第139行

     

注意:未定义的偏移量:7英寸   /home1/inventory/mobile/actions/loadsubmit.php   第139行

     

注意:未定义的偏移量:8英寸   /home1/inventory/mobile/actions/loadsubmit.php   在第140行

     

注意:未定义的偏移量:2英寸   /home1/inventory/mobile/actions/loadsubmit.php   第141行

     

注意:未定义的偏移量:3英寸   /home1/inventory/mobile/actions/loadsubmit.php   第141行

     

注意:未定义的偏移:4英寸   /home1/inventory/mobile/actions/loadsubmit.php   第141行

     

注意:未定义的偏移:1英寸   /home1/inventory/mobile/actions/loadsubmit.php   在第142行

1 个答案:

答案 0 :(得分:1)

在点击

之前,似乎没有定义$ data
while ($data = fgetcsv($handle,1000,",","'"));

因此,当您尝试在该行之前访问$ data时,您会收到错误,因为该变量不存在。