私はこれに苦労しています。次の SQL を使用して XML ファイルを作成していますが、次のエラーが表示されます: Access denied for user 'designan_testu'@'localhost' (using password: YES)
INSERT
、、、エラーなしDELETE
でできUPDATE
ます。INTO OUTFILE
エラーが発生するだけです。
データベース名とユーザー名にアンダースコアがあるため、エラーが返されますか? 参考までに、私の 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);
、ファイルを書き直す前にファイルを削除しようとして上記を追加しましたが、1st:Warning: unlink(xml.xml) [function.unlink]: No such file or directory in /home/designan/public_html/sandbox/curl/test/index.php on line 14
と 2nd: の2 つのエラーが発生しました。Error Export [File 'xml.xml' already exists]
…ちょっと戸惑います。テーブルをxmlファイルにダンプしたいだけです。