[英]Load Data Local Infile with Zend Framework and PDO Adapter
我从本机PHP切换到Zend Framework,并且需要一个脚本来将数据本地加载Infile到单独服务器上的数据库。
我将application.ini更改为
resources.db.adapter = "Pdo_Mysql"
resources.db.params.host ="xxx.xxx.xxx.xxx"
resources.db.params.username = "yyyyyyy"
resources.db.params.password = "zzzzzzz"
resources.db.params.dbname = "xyxyxyxy"
resources.db.params.charset = utf8
resources.db.params.driver_options.PDO::MYSQL_ATTR_LOCAL_INFILE=1;
resources.db.isDefaultTableAdapter = true
并尝试
resources.db.params.driver_options.1001=1;
太。
我通过创建数据库对象
$db = Zend_Db_Table::getDefaultAdapter();
并使用“将数据本地文件加载到数据库”向数据库发送查询。 结果错误
Message: SQLSTATE[42000]: Syntax error or access violation: 1148 The used command is not allowed with this MySQL version
我通过php mysql函数使用相同的本机查询,但与client_flag 128连接。如果没有此client标志,我将得到相同的错误。
那么,我如何在Zend Framework和PDO中使用Local Infile?
resources.db.params.driver_options.1001 = true;
应该工作,您不能在application.ini中使用CONSTANTS。 请尝试使用“ true”而不是“ 1”
我试图寻找同样的东西..我试图添加
[mysql]本地文件
[mysqld]本地文件
根据一些用户(但不是我),这应该可以解决ubuntu 12.04上的问题,但也有一个php bug,但是应该在很久以前就解决了: https : //bugs.php.net/bug.php?id = 54158
阅读这篇文章: http : //dev.mysql.com/doc/refman/5.1/en/load-data-local.html#c3237他声称可以通过重新编译来解决,但我没有尝试过。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.