Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-csv文件在mysql中的上传_Php_Mysql_Csv_Permissions - Fatal编程技术网

PHP-csv文件在mysql中的上传

PHP-csv文件在mysql中的上传,php,mysql,csv,permissions,Php,Mysql,Csv,Permissions,我正试图从php代码上传一个csv文件到我的mysql数据库中。 我收到一个错误:“无法更新:此MySQL版本不允许使用该命令” 这是我正在使用的代码。 我是否必须授予任何类型的权限,以便我能够从php表单执行此操作。? 因为我能够直接从终端从mysql加载相同的csv文件 附言:-读了这篇文章后,我已经更改了我的.cnf文件。 无论如何,我无法从phpmyadmin和php表单上传。错误消息是相同的。i、 e.“无法更新:此MySQL版本不允许使用所用命令” 下面是一段代码 if(@$_PO

我正试图从php代码上传一个csv文件到我的mysql数据库中。 我收到一个错误:“无法更新:此MySQL版本不允许使用该命令”

这是我正在使用的代码。 我是否必须授予任何类型的权限,以便我能够从php表单执行此操作。? 因为我能够直接从终端从mysql加载相同的csv文件

附言:-读了这篇文章后,我已经更改了我的.cnf文件。

无论如何,我无法从phpmyadmin和php表单上传。错误消息是相同的。i、 e.“无法更新:此MySQL版本不允许使用所用命令”

下面是一段代码

if(@$_POST['submit'])
{
    $file = $_FILES['file'];
    $name = $file['name'];
    $type = $file['type'];
    $size = $file['size'];
    $tmppath = $file['tmp_name']; 
    echo "Name of the file is $name <br> $tmppath";
    if($name!="")
    {
        echo "<br> Trying to upload file <br>";         
        if(move_uploaded_file($tmppath, "csvfiles/.$name")) //project is a folder in which you will save csv files
        {
            $query="LOAD DATA LOCAL INFILE '$tmppath' INTO TABLE test.metadata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;";
            mysql_query ($query) or die ('Could not updated:'.mysql_error());
            echo "CSV file inserted successfully !!<br>";
        }else {echo "<br>Failed !!!!";}
    }else {echo "<br>No file exist <br>";}
}else {echo " <br> No file exist <br>";}
if(@$\u POST['submit']))
{
$file=$_文件['file'];
$name=$file['name'];
$type=$file['type'];
$size=$file['size'];
$tmppath=$file['tmp_name'];
echo“文件名为$Name
$tmppath”; 如果($name!=“”) { echo“
尝试上载文件
”; 如果(move_uploaded_file($tmppath,“csvfiles/$name”)//project是一个保存csv文件的文件夹 { $query=“将数据本地填充“$tmppath”加载到表test.metadata字段中,以“;”结尾的行以“\n”结尾,忽略1行;”; mysql_query($query)或die('无法更新:'。mysql_error()); echo“成功插入CSV文件!!
”; }否则{echo“
失败!!!!”} }否则{echo“
不存在文件
”;} }否则{echo“
不存在文件
”;}
如果在服务器或客户端中禁用了“本地加载数据”,则尝试发出此类语句的客户端将收到以下错误消息:

ERROR 1148: The used command is not allowed with this MySQL version
尝试在下面的if UNIX中运行

mysql_fix_privilege_tables --password=root_password
或者如果窗户

C:\> cd "C:\Program Files\MySQL\MySQL Server 5.0"
C:\> bin\mysql -u root -p mysql
mysql> SOURCE share/mysql_fix_privilege_tables.sql

您正在使用的MySQL版本似乎是一个合适的东西。它的MySQL 5.5,是我可以从apt get install命令获得的最新版本。我使用的是ubuntu 12.4,当我运行MySQL\u fix\u privilege\u tables--password=root\u password时,它给了我找不到的错误命令。您能运行
MySQL\u升级吗
我遇到了这个错误。无法在mysql服务器datadir中创建升级信息文件“/var/lib/mysql/mysql\u upgrade\u info”,错误号:13我是使用superuser创建的,现在升级了。不,升级不起作用,我想是因为我尝试从php表单加载文件时遇到了相同的错误。