Bug #67475 [NEW]: load data local infile fails with pdo_mysql, works with mysqli
| From: | jaroslav at thinline dot cz | 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
--