$SQL=$contents;
$result=mysql_query($SQL);
我原来也试过。不过我的文件比较大。报错了。说sql语句太大。
你可以试下小点的。或都你先输出看看是不是sql语句
还有可能要做些转换。'\r\n'换吧。

解决方案 »

  1.   

    你的.sql有多大?
    在.ini里改一下最大上传试试
      

  2.   

    现在已经初步有一个解决的办法。
    因为php中执行sql的时候只能一句一句de来,以;为界
    所以现在我使用split分开,一句一句的进行也能够实现只是现在的问题就是
        $filehandle = fopen($_POST[datafile],"r");
        $contents = fread ($filehandle, filesize ($_POST[datafile]));
        fclose($filehandle);
        $ar= split(";\n",$contents)
        foreach ($ar as $SQL);
        ..........
    一次性读进内存里面。结果现在几M的数据就快死了楼上的兄弟说的分块执行,能说得具体些吗?
    文件块并不规则阿? 我不能限制每次多大。
      

  3.   

    几M以上的数据最好不要用PHP执行导入。 如果你可以控制服务器哪么就用命令行进行操作.