将CSV导入MySQL(WAMP),数据库中不会显示任何数据

时间:2017-03-10 18:44:29

标签: php html mysql forms csv

我正在尝试创建一个允许最终用户将CSV文件上传到数据库的网页。我以为我把它映射出来了,页面的行为就像数据一样。但是,当我检查我的桌子时,它是空的。

我有一个CSV中不存在的表[0]的guid触发器,所以我试图从表[1]开始填充数据。我知道我的连接是可靠的,因为我能够在不同的网页上查询数据库中的数据。

在建立与数据库的连接之后,这是我的代码:

        if ($_FILES[csv][size] > 0) {

    //get the csv file
    $file = $_FILES[csv][tmp_name];
    $handle = fopen($file,"r");

    //loop through the csv file and insert into database
    do {
    if ($data[1]) {
        mysqli_query("INSERT INTO bnsf1 (offline, unit, commodity, shipper, origin, originState, current, currentState, estimatedArrival, carType, destination, destinationState, CP_dateTime, waybillNumber, equipmentLength) VALUES
            (
                '".addslashes($data[1])."',
                '".addslashes($data[2])."',
                '".addslashes($data[3])."',
                '".addslashes($data[4])."',
                '".addslashes($data[5])."',
                '".addslashes($data[6])."',
                '".addslashes($data[7])."',
                '".addslashes($data[8])."',
                '".addslashes($data[9])."',
                '".addslashes($data[10])."',
                '".addslashes($data[11])."',
                '".addslashes($data[12])."',
                '".addslashes($data[13])."',
                '".addslashes($data[14])."',
                '".addslashes($data[15])."'
            )
        ");
            }
        } while ($data = fgetcsv($handle,1000,",","'"));
    //

    //redirect
    header('Location: form1.php?success=1'); die;

    }

?>

<!DOCTYPE html>
<html>
<head>
<title>Import a CSV File</title>
</head>

<body>

<?php if (!empty($_GET[success])) { echo "<b>Your file has been imported.</b><br><br>"; } //generic success notice ?>

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  Choose your file: <br />
  <input name="csv" type="file" id="csv" />
  <input type="submit" name="Submit" value="Submit" />
</form>

</body>
</html>

谢谢你的期待!

1 个答案:

答案 0 :(得分:0)

你必须在你的mysqli_query中添加连接变量。

    mysqli_query(your connection variable,"INSERT INTO bnsf1 (offline, unit, commodity, shipper, origin, originState, current, currentState, estimatedArrival, carType, destination, destinationState, CP_dateTime, waybillNumber, equipmentLength) VALUES
        (
            '".addslashes($data[1])."',
            '".addslashes($data[2])."',
            '".addslashes($data[3])."',
            '".addslashes($data[4])."',
            '".addslashes($data[5])."',
            '".addslashes($data[6])."',
            '".addslashes($data[7])."',
            '".addslashes($data[8])."',
            '".addslashes($data[9])."',
            '".addslashes($data[10])."',
            '".addslashes($data[11])."',
            '".addslashes($data[12])."',
            '".addslashes($data[13])."',
            '".addslashes($data[14])."',
            '".addslashes($data[15])."'
        ) ");