2017-02-26 62 views
0

我想导出一个excel文件excdemo.xlsx到MySQL数据库使用PHP。 我得到一个未定义的偏移error.What可能是原因无法解决未定义的抵消错误

if(isset($_POST['submit'])) 
{ 
$link=mysql_connect("localhost","root",""); 
mysql_select_db("db2017",$link); 


$source = fopen('excdemo.xlsx', 'r') or die("Problem open file"); 
    while (($data = fgetcsv($source, 1000, ",")) !== FALSE) 
    { 
     $name = $data[0]; 
     $lname = $data[1]; 
     $phone = $data[2]; 
     $email = $data[3]; 
     $address = $data[4]; 
     $high = $data[5]; 


mysql_query("INSERT INTO excel(fname,lname,phone,email,address,high) VALUES ('".$name."','".$lname."','".$phone."','".$email."','".$address."','".$high."') "); 
    } 
    fclose($source); 
} 

错误:

未定义抵消:4在C:\ XAMPP \ htdocs中\考试\ main.php 请忽略我的使用的mysql而不是mysqli_

+2

请用'$ data'的'var_dump()'来更新你的问题。这显然与'$ data'有关; –

+0

'fgetcsv' ?? !!这是一个不是csv的excel文件,如果你想在php中阅读xlsx,请查看[PHPExcel](https://github.com/PHPOffice/PHPExcel) – niceman

回答

0

我找到了解决我的问题的方法。在创建Excel表格时,我们需要将文件类型设置为CSV(MS-DOS),因为我们使用的是使用fgetcsv()函数。