我正在使用Zend Framework 2進行應用程序開發。整個應用程序基於IBM Informix數據庫。Zend Framework 2查詢中的雙引號
數據庫配置看起來是這樣的:
return array(
'db' => array(
'driver' => 'Pdo',
'dsn' => 'dsn:connection:string',
'driver_options' => array(
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
);
當被實例化的Zend \ DB \ SQL \選擇對象查詢數據庫,查詢總是得到報價,這是不應該的,因爲Informix的可以」再處理查詢。
預期查詢字符串:
SELECT column1, column2 FROM table
Zend的生成查詢字符串:
SELECT "column1", "column2" from "table"
經過一番研究,我發現類似的情況,但既不解決方案是可以接受的。這裏的問題是,我必須通過一個Zend \ Db \ Sql \ Select對象,因此通過$ dbAdapter-> query($ sql)查詢數據庫與原始的sql是不可能的。
有沒有辦法可以禁用報價(例如在數據庫配置中)?
一些tipps將非常讚賞。 在此先感謝
你爲什麼要用Select來生成SQL,但是然後運行原始查詢?要麼運行原始查詢,要麼使用Select構建器爲你執行它... – Andrew
你missunderstood - 我寫道,我必須通過一個Zend \ Db \ Sql \ Select對象,所以通過原始查詢查詢數據庫是別無選擇。 – kinkee
答案可能在這裏http://stackoverflow.com/questions/15813544/zf2-zend-db-adapter-platformgetquoteidentifiersymbol – sroes