php - 通过php将CSV文件中的数据导入到Mysql表中

标签 php html mysql csv

正如标题中所解释的,我试图通过将 csv 文件上传到我的 php 页面来将数据导入到我的表中。 这是我从 EggSlab 得到的代码

<?php
					
					$servername = "localhost";
					$username = "root";
					$password = "";
					$dbname = "Test";

					// Create connection
					$conn = new mysqli($servername, $username, $password, $dbname);
					// Check connection
					if ($conn->connect_error) {
						 die("Connection failed: " . $conn->connect_error);
					}
					
					
?>

<html>

	<body>
		
		<form name="import" method="post" enctype="multipart/form-data">
		<input type="file" name="file" /><br />
        <input type="submit" name="submit" value="Submit" />
		</form>
		
		<?php
if(isset($_POST["submit"]))
{
 $file = $_FILES['file']['tmp_name'];
 $handle = fopen($file, "r");
 $c = 0;
 while(($filesop = fgetcsv($handle, 1000, ",")) !== false)
 {
 $name = $filesop[0];
 $email = $filesop[1];
 
 $sql = "INSERT INTO `xl` (`Name`, `Email`) VALUES ('$name','$email')";

 }
 

 if ($conn->query($sql) === TRUE) {
	echo "You database has imported successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error; 
}
}

?>
	</body>

</html>

问题是,提交文件时,只有文件的最后一行被插入到表中。有什么修改建议可以使代码插入 csv 文件的每一行吗?

最佳答案

这应该可以解决您的问题。您没有在循环内执行查询。

  		<?php
if(isset($_POST["submit"]))
{
 $file = $_FILES['file']['tmp_name'];
 $handle = fopen($file, "r");
 $c = 0;
 while(($filesop = fgetcsv($handle, 1000, ",")) !== false)
 {
  $name = $filesop[0];
  $email = $filesop[1];
 
  $sql = "INSERT INTO `xl` (`Name`, `Email`) VALUES ('$name','$email')";
  if ($conn->query($sql) === TRUE) {
	 echo "You database has imported successfully";
  } else {
    echo "Error: " . $sql . "<br>" . $conn->error; 
  }
 }
 

 
}

?>

关于php - 通过php将CSV文件中的数据导入到Mysql表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40460475/

相关文章:

php - 不需要的刷新页面 bootstrap/font-face

html - 不同属性的 CSS3 不同自定义缓动

php - 在 zend framwork - Nginx - ubuntu 14.04 中使用 Controller 时出现 404

php - 显示 & 而不是 &

JavaScript/jQuery 事件未触发嵌套 <divs> 中的元素

php - 一个变量的多个字符串

php - 选择多个记录并传递它们

mysql - 有没有办法知道你在mysql中的当前用户名?

php - Laravel Spark - 登录时重定向

php - 如何将我的社交媒体按钮对齐到右上角