Bug #67475 [NEW]: load data local infile fails with pdo_mysql, works with mysqli

From: Date: Thu, 19 Jun 2014 09:13:45 +0000
Subject: Bug #67475 [NEW]: load data local infile fails with pdo_mysql, works with mysqli
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-186251@lists.php.net to get a copy of this message
From: jaroslav at thinline dot cz Operating system: Linux PHP version: 5.5.13 Package: PDO MySQL Bug Type: Bug Bug description:load data local infile fails with pdo_mysql, works with mysqli Description: ------------ Using SQL statement LOAD DATA LOCAL INFILE with PDO doesn't work, an error "SQLSTATE[42000]: Syntax error or access violation: 1148 The used command is not allowed with this MySQL version" is returned even with PDO::MYSQL_ATTR_LOCAL_INFILE set to 1 in constructor. When trying the same with mysqli extension however, everything is executed correctly and test table is filled with data. PHP is running on Debian Wheezy, using package from dotdeb.org Test script: --------------- // Non-functional with PDO try { $con = new PDO("mysql:host=127.0.0.1;dbname=testdb", "user", "pass", array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1)); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->exec('load data local infile \'test.csv\' into table testtable fields terminated by \',\' enclosed by \'"\' escaped by \'"\''); } catch (PDOException $e) { echo $e->getMessage(); } //Functional with mysqli $con = mysqli_init(); mysqli_options($con, MYSQLI_OPT_LOCAL_INFILE, true); mysqli_real_connect($con, '127.0.0.1', 'user', 'pass', 'testdb'); mysqli_query($con, 'load data local infile \'test.csv\' into table testtable fields terminated by \',\' enclosed by \'"\' escaped by \'"\''); -- Edit bug report at https://bugs.php.net/bug.php?id=67475&edit=1 --

« previous php.bugs (#186251) next »