2014-09-05 97 views
0

我正在使用CodeIgniter 2.2;Codeigniter 2.2解析錯誤:語法錯誤,意外T_CONSTANT_ENCAPSED_STRING

前一段時間,我用codeigniter創建了一個網站(遵循codeigniter動態數據教程),並製作了兩個控制器(以及它們的模型),即建議和報告。至於第一次需要我爲這兩個控制器創建了函數。但是,昨天,我試圖添加視圖函數並列出數據庫中的值。我加入了簡單的視圖功能

$data['suggestions'] = $this->suggestions_model->get_suggestions(); 
$this->load->view('suggestions/view',$data); 

和報告相同

$data['reports'] = $this->reports_model->get_reports(); 
$this->load->view('reports/view',$data); 

這工作得很好,在我的地方,我可以看到的結果對他們倆的。然而,當我把它生產(遠程)建議控制器工作時,其創建和除以下

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /my_site/application/controllers/reports.php on line 37 

和線路37錯誤消息視圖功能,但有報道控制器犯規返回任何內容是:$data['reports'] = $this->reports_model->get_reports();

和這裏是代碼的前40行#

<?php 

     class reports extends CI_Controller { 

    public function __construct() 
    { 


     parent::__construct(); 
     //parent::CI_Controller(); 
     echo "Success"; 


     $this->load->model('reports_model'); 
     $this->load->library("session"); 
     $this->load->helper('url'); 
     session_start(); 


echo "Başarı ile oluşturuldu"; 

    } 

    public function index() 
    { 
     $data['reports'] = $this->reports_model->get_reports(); 
var_dump($data['reports']); 
     exit; 

     $data['title'] = 'Suggestions archive'; 

     $this->load->view(reports/view', $data); 
    } 

    public function view() 
    { 
     $data['reports'] = $this->reports_model->get_reports(); 

     var_dump($data['reports']); 
     exit; 

     $data['title'] = 'Suggestions archive'; 

     $this->load->view('reports/view', $data); 
    } 

它看起來一切正常,但是問題是什麼?對於那些詢問它的人,是的,我在構造函數中加載模型......在此先感謝。

+0

你能展示liine 36嗎?也許這是一個';'失蹤? – Jens 2014-09-05 10:59:36

+0

這個問題似乎是脫離主題,因爲它涉及_「簡單的印刷錯誤」_。調試是你的工作。如果你想編寫代碼,你將不得不接受一個簡單的事實,即調試是你的工作的一部分 – 2014-09-05 11:01:31

+0

第36行是「{」函數視圖()的開頭捲曲...) \t public function view() \t { \t \t $ data ['reports'] = $ this-> reports_model-> get_reports(); \t \t var_dump($ data ['reports']); \t \t exit; \t \t \t \t $ data ['title'] ='建議歸檔'; \t \t \t \t $ this-> load-> view(reports/view',$ data); \t} – iteyran 2014-09-05 11:10:29

回答

1

index方法的最後一條語句缺少報價:

$this->load->view(reports/view', $data); 
//    /\HERE 

這應該是:

$this->load->view('reports/view', $data); 

ATM,PHP是治療的聲明,聲明中view甲基外徑爲字符串:

$data['reports'] = $this->reports_model->get_reports(); 

是你所看到的,但是PHP認爲這是:

//string CONSTANT STRING... 
'$data[' reports '] = $this->reports_model->get_reports();' 

這就是爲什麼我總是說:
語法高亮拯救生命!

注:
還有一些其他的,不相關的,問題在你的代碼:含exit報表等你的構造echo -es,方法......我懷疑這是隻用於調試。即使如此:請使用Xdebug。
不想做太多自我推銷see this code-review of mine,在那裏我解釋了爲什麼方法不應該叫exitecho東西。如果你願意,你可以在CR上發佈你的一些代碼,我很樂意看看它。

+0

我會看一看..謝謝。 – iteyran 2014-09-05 12:18:34

0

它是所有缺乏「在指數函數的最後一行......這類錯誤很難發現特別是當不使用豐富多彩的編輯器...

相關問題