gpt4 book ai didi

php - Codeigniter 2.2 解析错误 : syntax error, 意外 T_CONSTANT_ENCAPSED_STRING

转载 作者:行者123 更新时间:2023-11-29 12:44:10 26 4
gpt4 key购买 nike

我正在使用 CodeIgniter 2.2;

不久前,我使用 codeigniter 创建了一个站点(遵循 codeigniter 动态数据教程),并制作了两个 Controller (当然还有它们的模型),即建议和报告。至于第一个需求,我为这两个 Controller 创建了创建函数。然而,昨天,我尝试添加 View 函数并列出数据库中的值。我添加了简单的 View 功能

$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);

这在我本地工作得很好,我可以看到他们两个的结果。但是,当我将其放入生产(远程)建议 Controller 时,它可以使用其创建和查看功能,但报告 Controller 除了下面的错误消息之外不会返回任何内容

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);
}

看起来一切都很好,但是问题出在哪里呢?对于那些询问这个问题的人,是的,我在构造函数中加载模型......提前致谢。

最佳答案

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();'

这就是为什么我总是说:
语法突出显示可以拯救生命!

备注:
您的代码中还有一些其他不相关的问题:您的构造函数 echo-es、包含 exit 语句的方法等...我怀疑这仅用于调试。即便如此:考虑一下使用 Xdebug。
不想做太多的 self 推销see this code-review of mine ,我在其中解释了为什么方法永远不应该调用 exitecho 事物。如果您愿意,可以在 CR 上发布您的一些代码,我很乐意查看

关于php - Codeigniter 2.2 解析错误 : syntax error, 意外 T_CONSTANT_ENCAPSED_STRING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25684319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com