尝试使用PHP和HTML表单将CSV文件上传到MySql

时间:2016-06-24 09:26:20

标签: php html

大家好日子,我对PHP很新,我真的需要一些帮助。我正在尝试使用PHP和HTML <form>将CSV文件上传到MySql数据库,但它给了我以下错误:

  

注意:第23行temp_name中的未定义索引:C:\xampp\htdocs\import csv\importcsv.php

     

警告:fopen():第24行C:\xampp\htdocs\import csv\importcsv.php的文件名不能为空

     

警告:fgetcsv()期望参数1为资源,第26行C:\xampp\htdocs\import csv\importcsv.php中给出布尔值

     

警告:fclose()期望参数1为资源,布线在第30行的C:\xampp\htdocs\import csv\importcsv.php中给出   成功导入

这是我的代码:

<?php 
    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    $db_host = 'localhost';
    $db_user = 'root';
    $db_pwd = '';

    $db = 'mydb';
    $table = 'user';

    $conn = mysqli_connect($db_host, $db_user, $db_pwd) or die("Cant connect to database");

    if(!mysqli_select_db($conn,$db))
        die("Cant select to database");

    if(isset($_POST['submit'])){
        $fname = $_FILES['sel_file']['name'];
        echo 'upload file name: '.$fname.' ';
        $chk_ext = explode(".",  $fname);

        if(strtolower(end($chk_ext)) == "csv"){ 
            $filename = $_FILES['sel_file']['temp_name'];
            $handle = fopen($filename, "r");

            while(($data = fgetcsv($handle, 1000, ",")) != FALSE){
                $sql = "INSERT into user(name,email,phone) values('$data[0]', '$data[1]', '$data[2]')";
                mysql_query($sql) or die(mysql_error());
            }
            fclose($handle);
            echo "successfully imported";
        } else{
            echo "Invalid file";
        }
    }

?>
<h1>Import csv file</h1>
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
    Import File : <input type='file' name='sel_file' size='20'>
    <input type='submit' name='submit' value='submit'>
</form>

请帮忙。

0 个答案:

没有答案