用phpmyadmin,或者把data.txt文件内容导入一个变量,分行循环进行query插入。

解决方案 »

  1.   

    这个功能不实用,因为一般情况下,用户不太可能有自己的服务器,必须
    是远程使用数据库,而这个命令的使用需要有较高的使用权限(write权限),
    而一般供应商不可能开这个权限给客人.所以,这个功能不实用....如果楼主是要用这个来干活的,建议找别的方法,或者能够让供应商开这个
    权限再考虑下去吧
      

  2.   

    mysql_query("Load Data Local Infile 'path/data.txt' into table tbl_test");注意path应为绝对路径。如指向网站下的某个目录,一般不存在读权限问题。
      

  3.   

    我的最老土,就是自己写程序导入.思路就是,不管数据是在数据库里面,还是其它文本文件里面,先打开原数据所在的文件或者数据库.一行一行的按要求读取出来.然后在mysql数据库里面建上同名,同结构的表.一行一行的写就可以了.可能占的时间长一点,但是绝对可靠.可以参考.
      

  4.   

    先用fopen()函数取出你要的文件.
    接着就是读取.fgets(),然后就是循环执行...
      

  5.   

    自己写的话怎么写呢?
    能不能提供点思路,或者有没有范例给我看看啊?谢谢你了!
    -----------------------------------------------------
    这个问题我曾经遇到过:请见关于
    mysql数据库导入文本数据的问题  http://community.csdn.net/Expert/topic/3186/3186682.xml?temp=.1114313
    http://community.csdn.net/Expert/topic/3206/3206823.xml?temp=.1155359
    http://community.csdn.net/Expert/topic/3201/3201758.xml?temp=.4498102对于Load Data Local Infile 文本的方法确实存在远程服务器操作的问题
    下边我说说当时我自己的解决办法吧:读取文本>切割文本>生成sql语句>按数据插入mysql数据库
    以下是部分代码(自己修改):
    1、读取文本数据
    $filename = "data.txt";
    $farray = file($filename);
    $i=0;
       while($myrow=mysql_fetch_array($query)){
       $r[$i][0]=$myrow[0];
       $r[$i][1]=$myrow[1];
       $r[$i][2]=$mytow[2];
       $r[$i][3]=$mytow[3];
       $r[$i][4]=$mytow[4];
       $r[$i][5]=$mytow[5];
       $r[$i][6]=$mytow[6];
       $r[$i][7]=$mytow[7];
       $i++;//读取文本(根据需要循环读取)2、切割文本
    $str = $farray[0];
       $piece = explode("\t",$str);
       for($i = 0;$i < count($farray);$i++){
             $str = $farray[$i];
             $piece = explode("\t",$str);//循环切割字串3、生成sql语句进行数据插入
    $query = "insert into data(列1,列2,列3,列4,列5,列6,列7,列8,....) values('$piece[1]','$piece[2]','$piece[3]','$piece[4]','$piece[5]','$piece[6]','$piece[7]','$piece[8]',...)";
             mysql_query($query,$conn);以上假设数据表为data,给出的只是具体步骤,自己修改完善程序
    服务器在远程的话,data文本必须能够上传(一般不会存在读取权限问题)
    其中切割非常关键,这儿假设文本数据的分割符为
      

  6.   

    这儿假设文本数据的分割符是TAB,具体情况自己分析解决