我正在为此苦苦挣扎。我正在使用以下 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 个错误,第一个:Warning: unlink(xml.xml) [function.unlink]: No such file or directory in /home/designan/public_html/sandbox/curl/test/index.php on line 14
和第二个:Error Export [File 'xml.xml' already exists]
...我有点困惑。我只想将表转储到 xml 文件中。