在php中尝试导入csv文件时未定义的变量数据

在php中尝试导入csv文件时未定义的变量数据,php,sql,Php,Sql,我正在尝试使用PHP在我的SQL数据库中导入CSV文件 我有这个密码 <?php echo $_FILES['userfile']['name']; echo $_FILES['userfile']['size']; include ("AccesoBD.php"); if ($_FILES['userfile']['size'] > 0) { echo "El archivo contiene informacion";

我正在尝试使用PHP在我的SQL数据库中导入CSV文件

我有这个密码

<?php  

    echo $_FILES['userfile']['name'];

    echo $_FILES['userfile']['size'];

    include ("AccesoBD.php");

    if ($_FILES['userfile']['size'] > 0) {
        echo "El archivo contiene informacion";

        $file = $_FILES['userfile']['tmp_name']; 
        $handle = fopen($file,"r"); 
        $data2 = fgetcsv($handle,1000,",","'");

        do { 
        if ($data[0]) { 
            echo "Entramos en el Import";
            mysql_query("INSERT INTO Alumno (Nombre, Apellidos, CorreoElectronico) VALUES 
                ( 
                    '".addslashes($data[0])."', 
                    '".addslashes($data[1])."', 
                    '".addslashes($data[2])."' 
                ) 
            "); 
        } 
        } while ($data = fgetcsv($handle,1000,",","'")); 


    }


?> 

抱歉,如果我的英语不好,这是我第一次尝试用这种语言提出正式问题:)

您定义了$data2,然后使用了未定义的$data

$data2 = fgetcsv($handle,1000,",","'");

    do { 
    if ($data[0]) { 

您尚未定义$data try

$data2 = fgetcsv($handle,1000,",","'");

        do { 
        if ($data2[0]) { 
            echo "Entramos en el Import";
            mysql_query("INSERT INTO Alumno (Nombre, Apellidos, CorreoElectronico) VALUES 
                ( 
                    '".addslashes($data2[0])."', 
                    '".addslashes($data2[1])."', 
                    '".addslashes($data2[2])."' 
                ) 
            "); 
        } 
        } while ($data2); 

do。。while
首先执行
do
块的内容,然后执行
while
表达式。在第一次运行时,
$data
不存在,因为它仅在第一次执行后在
while
表达式中设置。实际上,您需要一个常规的
,而

while ($data = fgetcsv($handle,1000,",","'")) {
    ...
}

请突出显示您的代码User3462511,我该如何做?数据是在do结束时定义的,而我只定义了数据2以使其他尝试失败。如果您以前的条件正常($data2=fgetcsv($handle,1000,“,”,“”))是的,我可以在do结束前解决该定义问题。此外,我在SQL查询中发现了问题,我在INSERT块的末尾添加了mysql_error(),我发现我没有正确插入。您需要选择一个有用的答案,以便OP可以使用。是的,我可以在执行之前解决这个问题。此外,我在SQL查询中发现了问题,我在INSERT块的末尾添加了mysql_error(),我发现我没有正确插入。
while ($data = fgetcsv($handle,1000,",","'")) {
    ...
}