2016-12-23 17 views
0

でMySQLのテーブルをバックアップ:エラーは、私は以下のコードでMySQLのテーブルのバックアップを作成しようとしていますyii2

public function actionOut() { 
    $tableName = 'medication'; 
    $backupFile = \Yii::$app->basePath.'/patients/yourtable.sql'; 
    $query = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName"; 
    Yii::$app->db->createCommand($query)->execute(); 
} 

私は、ファイルに/書き込みを作成することはできませんエラーを取得しています、 \Yii::$app->basePathの形式が正しくないため、約cxampphttdocsfrontc:/xampp/httdocs/frontというエラーが表示されます。コンソールアプリケーション用にwebフォルダを見つけるにはどうすればよいですか?

+0

あなたの質問が何であるかを正確に伝えることはできません。あなたは悪いデータを渡しているようです。 – Aaron

+0

私がこのアクションを実行すると、エラーを作成できません/ file.itへの書き込みはyii2のコンソールアクションです – dimis283

+0

フォーマットと一般的な文法の改善 –

答えて

0

私はあなたが以下のコードを使用することをお勧め:私は両方のWindows & Linux上で正しく動作します

<?php 

$backupFile = \Yii::getAlias('@webroot') . DIRECTORY_SEPARATOR . 'patients' . DIRECTORY_SEPARATOR . $tableName . '.sql'; 
// or 
$backupFile = \Yii::$app->basePath . DIRECTORY_SEPARATOR . 'patients' . DIRECTORY_SEPARATOR . $tableName . '.sql'; 

を。

+0

私はこの$ backupFile = str_replace( "\\"、 '/'、Yii :: $ app-> basePath) '/ web/patients /'。date( 'Ym-d_H_m_s')。 'sql'; dosコマンドラインで "\"に問題があることがわかりました。 – dimis283

関連する問題