导入" |"使用PHP将分隔的文本文件分成MySQL数据库?

时间:2014-06-19 02:01:45

标签: php mysql sql

我正在尝试使用PHP将文本文件本地加载到MySQL数据库中。数据文件如下所示:

Device Name|DE:VI:CE:MAC:AD:DR:ES:SS|1376493754086|1376493754086

有许多数据格式与上面完全相同。

我正在尝试将此数据加载到预先建立的表中,如下所示:

$file = @fopen("LOCAL_data_file.txt","r");
    $values = '';

    while(!feof($file)) 
    {
        $con=mysqli_connect("127.0.0.1","root","password","my_db");
        if(mysqli_connect_errno()){
            echo "Error connecting to my_db: " . mysqli_connect_error();

        }
        $buffer = fgets($file, 4096); 

        list($a,$b,$c,$d)=explode("|",$buffer);
        /*echo $a;
        echo $b; 
        echo $c;
        echo $d;*/
        $ins="INSERT INTO 'tablet3' (Name, Address, StartTime, EndTime) VALUES
           ($a,$b,$c,$d)";
        mysqli_query($con,$ins);
     }

从文件中读取数据很好,因为如果我解除列表变量的回声,它会回显表中的所有数据。如果我不运行插入查询,则使用“Name | Address | StartTime | Endtime”的适当列创建表,但是使用insert查询,代码返回一个包含空数据的表。我根本无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:0)

我重新创建了它,这是我开始工作的查询

这假设数据库结构为:

Name(varchar or text)    Address(varchar or text)    StartTime(int)    EndTime(int)

<强>查询:

$ins="INSERT INTO `tablet3` (Name, Address, StartTime, EndTime) VALUES
           ('$a','$b',$c,$d)";

记下$ a和$ b附近的报价。还有tablet3周围的刻度线。

P.S。你并不需要围绕一个表名。