首页 > 解决方案 > 使用php加载excel文件数据并插入数据库

问题描述

我正在尝试使用 PHP 导入 excel 文件数据并将其插入数据库,我能够将文件数据获取到 SQL 服务器上,但是它为我要加载的每一行插入一次数据;对于我要加载的值行,插入检查将打印 5 次

我正在努力做到这一点,以便我可以减少需要插入的次数,仅在文件末尾插入检查 3 时减少一次,但我不确定应该如何存储数组并形成一个长的 SQL 插入语句。我目前的工作是:

<?php
if(isset($_POST["submit"]))
{
    $i =0;
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "testing";
    $db = new mysqli($servername, $username, $password, $dbname);
    $file = $_FILES["testfile"]["tmp_name"];
    $file_open = fopen($file,"r");
    while(($csv = fgetcsv($file_open, 1000, ",")) !== false)
    {
        if($i>0)
        {
            $Name = $csv[0];
            $Account = $csv[1];
            $sqlinsert ="INSERT INTO test (testing, abcd) VALUES('$Name', '$Account') ";
            echo "insert check 1";
            $db->query($sqlinsert);   

        }
        $i++;
   
    }
    echo "insert check 3";
    $db->close();
}
?>

是否可以在仅插入一次的 1 个 SQL 字符串语句中全部插入数据之前存储/预加载数据?任何帮助或提示将不胜感激。

标签: phpmysql

解决方案


推荐阅读