Php 将第2行开始的csv数据导入mysql数据库

Php 将第2行开始的csv数据导入mysql数据库,php,Php,这是我在导入csv数据时使用的代码,但是我应该如何使它从第二行开始导入数据?因为第一行是列名本身ID、学生姓名、科目代码、科目名称、单位、年级 您只需添加一个计数器和一个变量即可轻松访问$在这种情况下,StartLine将从第1行开始 <?php if (isset($_POST["submitgrade"])){ if ($_FILES["file"]["name"]){ //These two lines are added $startAtL

这是我在导入csv数据时使用的代码,但是我应该如何使它从第二行开始导入数据?因为第一行是列名本身ID、学生姓名、科目代码、科目名称、单位、年级


您只需添加一个计数器和一个变量即可轻松访问$在这种情况下,StartLine将从第1行开始

<?php
if (isset($_POST["submitgrade"])){
    if ($_FILES["file"]["name"]){

        //These two lines are added
        $startAtLine = 0;
        $counter = 0;

        $filename = explode('.',$_FILES["file"]["name"]);
        if ($filename[1] == 'csv')
            $handle = fopen($_FILES["file"]["tmp_name"], "r");
        while ($data = fgetcsv($handle))
        {
            if(++$counter<$startAtLine)
                continue;
            $item1 = mysqli_real_escape_string($con, $data[0]);
            $item2 = mysqli_real_escape_string($con, $data[1]);
            $item3 = mysqli_real_escape_string($con, $data[2]);
            $item4 = mysqli_real_escape_string($con, $data[3]);
            $item5 = mysqli_real_escape_string($con, $data[4]);
            $item6 = mysqli_real_escape_string($con, $data[5]);
            $grade = "INSERT into subj (username,name,code,title,unit,grade) values ('$item1','$item2','$item3','$item4','$item5','$item6')";
            mysqli_query($con,$grade);
        }
        fclose($handle);
        echo 'Upload Grade Success';
    }}
?>

在while循环开始遍历CSV文件之前,编写语句$data=fgetcsv$handle一次。然后按原样启动循环。循环将从CSV文件中的第二行开始。

在C:\xampp\htdocs\veritas\professor-portal.php的第19行出现错误,称为unexpected'while'T\u。请在我上面提到的语句后加上分号。您可能忘记了在语句后加上分号。您应该将其写为$data=fgetcsv$handle;
<?php
if (isset($_POST["submitgrade"])){
    if ($_FILES["file"]["name"]){

        //These two lines are added
        $startAtLine = 0;
        $counter = 0;

        $filename = explode('.',$_FILES["file"]["name"]);
        if ($filename[1] == 'csv')
            $handle = fopen($_FILES["file"]["tmp_name"], "r");
        while ($data = fgetcsv($handle))
        {
            if(++$counter<$startAtLine)
                continue;
            $item1 = mysqli_real_escape_string($con, $data[0]);
            $item2 = mysqli_real_escape_string($con, $data[1]);
            $item3 = mysqli_real_escape_string($con, $data[2]);
            $item4 = mysqli_real_escape_string($con, $data[3]);
            $item5 = mysqli_real_escape_string($con, $data[4]);
            $item6 = mysqli_real_escape_string($con, $data[5]);
            $grade = "INSERT into subj (username,name,code,title,unit,grade) values ('$item1','$item2','$item3','$item4','$item5','$item6')";
            mysqli_query($con,$grade);
        }
        fclose($handle);
        echo 'Upload Grade Success';
    }}
?>