yuriy19761976
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте! Подскажите, плиз, второй день бьюсь - и ничего не получается! Мне нужно загрузить файл (cvs с разделителями таб) в базу данных с помощью запроса LOAD DATA LOCAL INFILE в фреймворке Yii. Значит так: В контролере код: public function actionIndex() { $model= new ImportPrice; if(isset($_POST['ImportPrice'])) { $model->attributes=$_POST['ImportPrice']; if($model->validate()) { $csvFile=CUploadedFile::getInstance($model,'file'); $tempLoc=$csvFile->getTempName(); $sql = "LOAD DATA LOCAL INFILE '".$tempLoc."' IGNORE INTO TABLE hot_page FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (id_page,title,text)"; $connection=Yii::app()->db; $connection->createCommand($sql)->execute(); } } $this->render("index",array('model'=>$model)); } При попытке загрузить в базу данных выдает ошибку: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: LOAD DATA LOCAL INFILE forbidden Судя из содержания ошибки - запрещено загружать. Но почему? Как можно все таки на Yii загрузить файл. Кстати пример был взят из сайта http://www.yiiframework.com/wiki/336/im ... a-command/ Но, когда загружаешь файлы штатным способом, к примеру: $pwdb=mysql_connect("127.0.0.1", "alex76", "123") or die("База даных не подключена"); mysql_query('SET character_set_database = utf8'); mysql_query('SET NAMES utf8'); $db=mysql_select_db("hotline", $pwdb) or die("База даных не выбрана! (A)"); $sql = "LOAD DATA LOCAL INFILE '".$patch."' IGNORE INTO TABLE hot_page FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (id_page,title,text)"; if(mysql_query($sql)){echo 'Success'; } else {echo 'Error';} Все нормально загружается. Может проблема в настройках подключения к базе данных файла main.php: db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=hotline', 'emulatePrepare' => true, 'username' => 'alex76, 'password' => '123', 'charset' => 'utf8', ), Просто даже уже не знаю как быть... все перелопатил... Спасибо за любые советы!!! |