【问题标题】:Upload CSV file into MySql将 CSV 文件上传到 MySql
【发布时间】:2016-11-29 02:44:57
【问题描述】:

我正在尝试使用 MySQLi 面向对象创建一个简单的表单来将 CSV 文件上传到 MySql。与数据库的连接工作正常,但由于某种原因,我还没有弄清楚它没有将 CSV 文件中的数据插入数据库。

$servername = "localhost";
$username = "user_name";
$password = "password";
$dbname = "db_name";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

if(isset($_POST["submit"])) {
    if($_FILES['file']['name']) {
        $filename = explode(".", $_FILES['file']['name']);
        if ($filename[1] == 'csv') {

            $handle = fopen($_FILES['file']['tmp_name'], "r");
            while($data = fgetcsv($handle)) {
                $user_id = mysqli_real_escape_string($conn, $data[1]);
                $name = mysqli_real_escape_string($conn, $data[2]);
                $last_mod = mysqli_real_escape_string($conn, $data[3]);

                $sql="INSERT into user (user_id, name, last_mod) VALUES ('$user_id', '$name', '$last_mod')";
                if (!mysqli_query($con,$sql)) {
                die('Error: ' . mysqli_error($con));
                }
                echo "1 record added";
            }

            $conn->close();
        }
    }

}

<form action="index.php" method="POST" enctype="multipart/form-data" name="beer">
<div class="form-group">
<label for="file">Select your file:</label>
<input name="file" type="file">
</div>
<div class="checkbox">
<label><input type="checkbox">I agree!</label>
</div>
<button type="submit" class="btn btn-default">Upload</button>
</form>

【问题讨论】:

  • 我可能遗漏了什么,但你在哪里设置$row?
  • @andrewsi ...对不起,这是旧版本,我已将其更改为“数据”
  • LOAD DATA INFILE 有什么问题?
  • @e4c5...以前从未使用过...我必须用 LOAD DATA INFILE 替换 INSERT 吗?
  • 您需要进行一些调试,并找出它不工作的地方。您有嵌套的 if 语句 - 它们都评估为真吗? (例如,您在, 上爆炸文件名,而不是.,所以您确定文件以,csv 结尾吗?

标签: php mysql csv mysqli


【解决方案1】:
  1. 请检查文件类型。必须是 .csv。
  2. 请检查您的 csv 文件并删除您写入列名的行。

【讨论】:

    猜你喜欢
    • 2014-08-11
    • 2015-04-30
    • 1970-01-01
    • 2023-03-26
    • 2021-04-05
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多