gpt4 book ai didi

php - 无法正确导入 CSV 到 Mysql

转载 作者:行者123 更新时间:2023-11-29 01:36:51 24 4
gpt4 key购买 nike

我正在将 CSV 文件中的数据导入 Mysql 数据库。该代码工作正常,但它不会插入 csv 文件的第一行。

<?php 
if(isset($_POST["Import"]))
{
//First we need to make a connection with the database
$host='localhost:3311'; // Host Name.
$db_user= 'root'; //User Name
$db_password= 'root';
$db= 'compared'; // Database Name.
$connect=mysqli_connect($host,$db_user,$db_password,$db);
echo $filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0)
{
$csv_file = $filename; // Name of your CSV file
$csvfile = fopen($csv_file, 'r');
$theData = fgets($csvfile);
$i = 0;
while (!feof($csvfile))
{
$csv_data[] = fgets($csvfile, 1024);
$csv_array = explode(",", $csv_data[$i]);
$insert_csv = array();
$insert_csv['0'] = $csv_array[0];
$insert_csv['1'] = $csv_array[1];
$insert_csv['2'] = $csv_array[2];
$insert_csv['3'] = $csv_array[2];
$insert_csv['4'] = $csv_array[2];
$query = "INSERT INTO reviews(id,userid,title, review, rating)
VALUES('".$insert_csv['0']."','".$insert_csv['1']."','".$insert_csv['2']."','". $insert_csv['3']."','".$insert_csv['4']."')";
$n=mysqli_query($connect,$query );
$i++;
}
fclose($csvfile);
echo "File data successfully imported to database!!";
}
}

?>


<form enctype="multipart/form-data" method="post" role="form">
<div class="form-group">
<label for="exampleInputFile">File Upload</label>
<input type="file" name="file" id="file" size="150">
<p class="help-block">Only Excel/CSV File Import.</p>
</div>
<button type="submit" class="btn btn-default" name="Import" value="Import">Upload</button>
</form>

这是数据

1,2,abc,abc,3
2,3,abc,abcd,5
11,2,abc,abc,3
22,3,abc,abcd,5

它从第二行插入并跳过第一行。谁能修好?

最佳答案

您在循环外执行第一个 fgets,然后在循环开头立即执行另一个,从而跳过第一个结果。

A do-while构造应该可以解决您的问题:

$theData = fgets($csvfile);
do {
// Extract data from $theData

// Insert into the database

// Get the next line:
$theData = fgets($csvfile);
} while (!feof($csvfile));

关于php - 无法正确导入 CSV 到 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39926019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com