Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中只有一行从csv导入mysql表_Php_Mysql_Mysqli - Fatal编程技术网

php中只有一行从csv导入mysql表

php中只有一行从csv导入mysql表,php,mysql,mysqli,Php,Mysql,Mysqli,我正在尝试将记录从CSV文件导入MySQL表,但只插入了第一行。剩余未上载到数据库 if (isset($_POST["upload_csv"])) { $fileName = $_FILES["file"]["tmp_name"]; if ($_FILES["file"]["size"] > 0) { $file = fopen($fileName, "r"); while (($column = fgetcsv($file, 10

我正在尝试将记录从CSV文件导入MySQL表,但只插入了第一行。剩余未上载到数据库

if (isset($_POST["upload_csv"])) {

    $fileName = $_FILES["file"]["tmp_name"];

    if ($_FILES["file"]["size"] > 0) {

        $file = fopen($fileName, "r");

        while (($column = fgetcsv($file, 10000, ",")) !== FALSE) {
            $sqlInsert = "INSERT into price_dump (`stock_id`,`stock_price`,`previous_price`,`minute_set`)
                   values ('" . $column[0] . "','" . $column[1] . "','" . $column[2] . "','" . $column[3] . "')";
            $result = mysqli_query($conn, $sqlInsert);

            if (! empty($result)) {
                $type = "success";
                $message = "CSV Data Imported into the Database";
            } else {
                $type = "error";
                $message = "Problem in Importing CSV Data";
            }
        }
    }
}

可能是csv文件,以分隔

所以调试。注释掉所有sql插入行,只需执行
echo
语句。你看到每一行了吗?这是一段可怕的代码,易于sql注入和黑客攻击。我强烈建议检查如何防止SQL注入,并将变量绑定到查询。
if (isset($_POST["upload_csv"])) {

    $fileName = $_FILES["file"]["tmp_name"];

    if ($_FILES["file"]["size"] > 0) {

        $file = fopen($fileName, "r");
        $lines = file($_FILES["file"]["tmp_name"]);

        foreach ($lines as $line) {
            $column = explode(',', $line);
            $sqlInsert = "INSERT into price_dump (`stock_id`,`stock_price`,`previous_price`,`minute_set`)
                   values ('" . $column[0] . "','" . $column[1] . "','" . $column[2] . "','" . $column[3] . "')";
            $result = mysqli_query($conn, $sqlInsert);

            if (! empty($result)) {
                $type = "success";
                $message = "CSV Data Imported into the Database";
            } else {
                $type = "error";
                $message = "Problem in Importing CSV Data";
            }
        }
    }
}