[英]PHP : LOAD DATA LOCAL INFILE forbidden
通过php执行LOAD DATA LOCAL INFILE时出现问题。
PDOStatement::execute(): LOAD DATA LOCAL INFILE forbidden in /blablabla
查询直接与mysql一起使用,但不适用于php。
我从mysql检查了我的local_infile,没关系:
SHOW GLOBAL VARIABLES LIKE 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+ 1 row in set (0.00 sec)
还有其他一些问题,但我不能修改源代码(因此php代码中的PDO配置): 禁止在LOAD DATA LOCAL INFILE中使用... PHP
编辑:我发现在我的情况下如何配置pdo,我在PDO中添加了PDO :: MYSQL_ATTR_LOCAL_INFILE => true选项。
我还有另一个错误:
[13:10:16] SQLSTATE[42000]: Syntax error or access violation: 1148 The used command is not allowed with this MySQL version, query was: LOAD DATA LOCAL INFILE '/tmp/export_cat_28.csv' REPLACE INTO TABLE tmp_pimgento_entities_category FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\\n' IGNORE 1 LINES;
查询仍然可以直接与mysql一起使用。
有任何想法吗 ? 谢谢。
$pdo = new PDO(
'mysql:host=hostname;dbname=ssldb',
'username',
'password',
[PDO::MYSQL_ATTR_LOCAL_INFILE => true]
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.