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

使用php在mysql中加载csv文件时出错,php,mysql,csv,fopen,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: " . m

有人能帮我解决吗?因为某些原因,我遇到了一个错误,但我不知道为什么!!!! 我有大约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,",","'"));
    //
        ?>

看起来$data在您点击

while ($data = fgetcsv($handle,1000,",","'"));

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

请查看此链接:我正在从网站编辑此代码并边走边学习…我可能不需要此代码?…对于我正在做的事情,请将其设置为while循环,而不是do-while循环。将条件放在循环的顶部,这可能会有所帮助。