我正在努力解决这个问题。我使用以下SQL来创建XML文件,但是我收到一条错误:用户'designan_testu'@'localhost'拒绝访问(使用密码:YES)
我可以INSERT
,DELETE
和UPDATE
没有错误。只是INTO OUTFILE
给了我一个错误。
是否返回错误b / c我的数据库名称和用户名中有下划线?仅供参考,我的cPanel的My SQL数据库管理器会自动将cPanelUser_
附加到所有数据库名称和数据库用户名。
$fileName = 'xml.xml';
unlink($fileName);
$strSQL = "SELECT 'CustomerID','Name','Email','CountryCode','Budget','Used' INTO OUTFILE 'xml.xml'";
$strSQL .= "FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM customer;";
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Export [".mysql_error()."]";
}
问题可能是我的语法吗?我希望如此!
更新:我已使用root访问权限登录到cPanel,在PHP My Admin中,我使用命令行从相关数据库中执行此操作:GRANT FILE ON *.* TO 'designan_testu'@'localhost';
。
这似乎已经解决了许可问题,谢谢。
然后我收到一条错误,指出xml.xml已经存在。所以我在重写之前添加了unlink($filename);
以尝试删除文件,但现在我收到2个错误,第1个:Warning: unlink(xml.xml) [function.unlink]: No such file or directory in /home/designan/public_html/sandbox/curl/test/index.php on line 14
和第2个:Error Export [File 'xml.xml' already exists]
......我有点困惑。我只想将表转储到xml文件中。