2016-07-18 21 views
3

控制器在我的控制,我有:將SQL作爲字符串在笨

$query = $this->db->query("select * from table"); 

我想有一個文件myquery.sql在該文件的唯一內容是:

select * from table 

等等我可以這樣做:

$query = $this->db->query(myquery.sql); 

什麼是正確的語法來做到這一點?

+0

至於爲什麼,我使用的查詢是700行,我不希望它使我簡潔的控制器難以瀏覽。我想使用存儲過程,但無法使其工作,並在某處讀取存儲過程對Code Igniter沒有好處,但也許有一天我會再試一次。 – David

回答

2

您應該能夠實現,使用:

$query = $this->db->query(file_get_contents('myquery.sql')); 

瞭解更多關於file_get_contents


您可能需要使用的正確路徑myquery.sql,但是這是基本的想法。

+0

謝謝你,讓它工作。它確實需要完整的路徑一直到驅動器號,這是令人討厭的......爲什麼我不能像使用include語句那樣使用文件名? – David

+0

@DavidBrooks TBH,我不知道如何回答這個問題。也許codeigniter搞砸了,但我真的不知道。 – FirstOne