2014-09-05 153 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

它是所有缺乏“在指数函数的最后一行......这类错误很难发现特别是当不使用丰富多彩的编辑器...

相关问题