Запустите неподготовленную инструкцию с Zend Db - PullRequest
3 голосов
/ 30 августа 2010

Я пытаюсь использовать оператор LOAD DATA INFILE с приложением ZF 1.10.6. Однако адаптер Mysqli сообщает, что

Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: эта команда не поддерживается в подготовленном протокол заявления еще в /xxx/library/Zend/Db/Statement/Mysqli.php по линии 77

Так что я не могу использовать эту функцию с подготовленными утверждениями. Однако Zend_Db_Adapter_Abstract создает оператор каждый раз, когда запрашивает БД.

Здесь есть сообщение об этой проблеме:

http://zendframework.com/issues/browse/ZF-1398

Кажется, я могу получить соединение с БД от объекта напрямую с помощью Zend_Db_Adapter_Abstract::getConnection(), но я нахожу это немного необработанным.

Мне было интересно, нашел ли кто-нибудь приемлемый способ решения этой проблемы?

1 Ответ

1 голос
/ 22 июля 2011

Я собирался спросить то же самое, что и вы. Поскольку никто еще не ответил, я бы расширил Zend_Db_Adapter_Mysqli (или который когда-либо использовал) и создал метод для запуска метода для «неподготовленного» оператора, что-то вроде queryWithoutPrepare ($ q). Тело довольно простое

return $this->getConnection()->query($q)
...