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

Php 将CSV导入MySQL(WAMP),数据库中不会显示任何数据,php,html,mysql,forms,csv,Php,Html,Mysql,Forms,Csv,我正在尝试创建一个网页,允许最终用户将CSV文件上载到数据库。我想我已经把它规划好了,页面的行为就像数据通过一样。然而,当我检查我的桌子时,它是空的 我有一个CSV中不存在的表[0]的guid触发器,因此我尝试从表[1]开始填充数据。我知道我的连接是可靠的,因为我能够在不同的网页上查询数据库中的数据 以下是我与数据库建立连接后的代码: if ($_FILES[csv][size] > 0) { //get the csv file $file = $_FI

我正在尝试创建一个网页,允许最终用户将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>
if($\u文件[csv][size]>0){
//获取csv文件
$file=$_文件[csv][tmp_名称];
$handle=fopen($file,“r”);
//循环浏览csv文件并插入数据库
做{
如果($data[1]){
mysqli_查询(“插入bnsf1(脱机、单位、商品、发货人、原产地、原始状态、当前、当前状态、估计数据竞争、类型、目的地、目的地状态、CP_日期时间、路单号、设备长度)值
(
“.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])”
)
");
}
}而($data=fgetcsv($handle,1000,“,”,“”));
//
//重定向
header('Location:form1.php?success=1');die;
}
?>
导入CSV文件
选择您的文件:

谢谢你的关注

您必须像这样在mysqli\u查询中添加connetion变量

    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])."'
        ) ");

您必须像这样在mysqli_查询中添加connetion变量

    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])."'
        ) ");

如果在do while循环中
var\u dump($data)
会得到什么?另外,为什么要使用do while循环而不是普通的while循环?在您的第一次迭代中,$data[1]等于false,因此不会发生任何事情。好的,谢谢您的建议
var_dump($data)
显示了我的所有数据,但它看起来很糟糕,但它确实告诉我,我的数据至少在某个地方。关于循环,我不确定我是否了解你。
$data[0]
不会覆盖我的guid值吗?首先,请搜索一个合适的教程,解释在PHP中安全处理MySQL数据的基础知识。无论你从哪里得到这个想法,在这里使用
addslashes
在任何方面都是正确的,这肯定是一个非常糟糕的资源。感谢CBroe的批评,请详细说明一个特定的源代码,它将有助于研究这些改进?如果你
var\u dump($data),你会得到什么
在do while循环中?另外,为什么要使用do while循环而不是普通的while循环?在您的第一次迭代中,$data[1]等于false,因此不会发生任何事情。好的,谢谢您的建议
var_dump($data)
显示了我的所有数据,但它看起来很糟糕,但它确实告诉我,我的数据至少在某个地方。关于循环,我不确定我是否了解你。
$data[0]
不会覆盖我的guid值吗?首先,请搜索一个合适的教程,解释在PHP中安全处理MySQL数据的基础知识。无论你从哪里得到这个想法,在这里使用
addslashes
在任何方面都是正确的做法,这肯定是一个非常糟糕的资源。感谢CBroe的批评,是否愿意详细说明一个特定的源代码,这将有助于研究这些改进?