我试图从php代码中将csv文件上传到mysql数据库中。我收到一个错误:“无法更新:这个MySQL版本”不允许使用的命令
这是我正在使用的代码。我是否必须授予任何类型的权限,以便能够从php表单中执行此操作。?因为我能够从mysql直接从终端加载相同的csv文件。
P.S.:-在阅读这篇文章后,我改变了my.cnf文件。MySQL: Enable LOAD DATA LOCAL INFILE
无论如何,我无法从phpmyadmin和php表单上传。错误信息是一样的。即“无法更新:此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>";}发布于 2013-05-27 10:07:33
如果在服务器或客户端禁用了LOAD DATA LOCAL,试图发出此类语句的客户端将收到以下错误消息:
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.sqlhttps://stackoverflow.com/questions/16770533
复制相似问题