2015-07-12 48 views
0

我在Codeigniter 3.0中查詢生成器的轉義方式有問題。 例如,該代碼Codeigniter - 在查詢生成器的函數「from」中停止轉義

echo $this->db->select('ROUND(3.456, 1) AS T1')->get_compiled_select(); 

回程:

SELECT ROUND(3.456,`1)` AS`T1`

該函數把反引號昏迷後,但這是通過設置FALSE第二個參數來解決的。但是, 「從」 總是把函數反引號:

echo $this->nm->db->from('(SELECT ROUND(3.456, 1)) AS T1')->get_compiled_select() 

返回:

SELECT * FROM(SELECT ROUND(3.456,`1))` AS`T1`

我正在使用Codeigniter 3.0。從Codeigniter 2.2開始就存在這個問題。我需要使用查詢生成器,因爲它非常易於使用,但其轉義方法很麻煩。如何阻止函數中的轉義?

謝謝。

回答

0

我找到了一個解決方案,但我不確定如何使用它。在「database.php」文件中應該爲數據庫連接的配置數組添加一個新的元素。

$db['default']['_protect_identifiers'] = FALSE; 

該代碼禁用轉義模式。但這是可取的嗎?禁用轉義系統有什麼風險?

謝謝。

相關問題