读取CSV文件并将数据上传到PHP中的正确表

时间:2017-09-20 13:19:39

标签: php mysql sql

我有一个包含5个表的SQL数据库,我还有5个CSV文件,每个表都有一个。

我正在努力创建一个PHP脚本,可用于读取每个文件,然后将数据上传到正确的表中。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

网址 - http://php.net/manual/en/function.fgetcsv.php

<?php
$filename = "test.csv";
//Open the csv file in the read mode
if (($handle = fopen($filename, "r")) !== FALSE) {
    //loop into the each row and do the stuff
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
       //$data will have all the related columns 
       //Make sure you will use INSERT query here
    }
    fclose($handle);
}

如果您想写入特定的表,有很多方法可以这样做

  1. 创建5个文件,在每个文件的while循环中,您将拥有相应的表名。
  2. 例如:您认为要插入customers.csv文件

    然后在while循环中,您可以使用以下方式

    while(/*Code*/){
         //INSERT INTO customers (col1, col2) VALUES (val1, val2);
    }
    
    1. 如果您只是懒惰而不是一个文件,您可以按如下方式进行切换操作

      $filename = 'customers.csv';
      
      switch( $filename ) {
      
      case 'customers.csv':
      
          while(){
      
              //Insert
      
          }
          break;
      
      case 'products.csv':
      
          while(){
      
              //Insert
      
          }
          break;
      }