1

次のコマンドを実行したい:

INTO TABLE example_table FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (field1,field2,field3);

私はこれをこのようにしようとしました:

$app = Mage::app();

umask(0);

Mage::setIsDeveloperMode(true);

$write = Mage::getSingleton('core/resource')->getConnection('core_write');
$write->query("INTO TABLE example_table
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n'
(field1,field2,field3)");

私もしたいしCREATE OR REPLACE VIEW...TRUNCATE example_table

私が得るエラーは次のとおりです。

Error: Warning: PDOStatement::execute(): LOAD DATA LOCAL INFILE forbidden in \lib\Zend\Db\Statement\Pdo.php on line 228

4

1 に答える 1

3

わかりました、問題は解決しました。

$dbConfig = array(
    'host'      => 'HOST',
    'username'  => 'USER',
    'password'  => 'PASS',
    'dbname'    => 'DBNAME',
    'driver_options'=> array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8')
);
$db_magento = Zend_Db::factory('Pdo_Mysql', $dbConfig);
$db_magento->query("TRUNCATE table1");
    $db_magento->query("LOAD DATA INFILE '{$file_name}'
    INTO TABLE table1
    FIELDS TERMINATED BY ';'
    LINES TERMINATED BY '\n'
    (field1,field2,field3)");

私は使用できませんでしLOAD DATA LOCAL INFILEたが、それなしLOCALでは機能します。

于 2012-07-12T14:13:46.767 に答える