Php codeigniter中的未定义变量和非对象属性
对于我的3个变量,我收到以下两条错误消息: 消息1)未定义变量:行 消息2)尝试获取非对象的属性 编辑:(最终找到了编辑按钮),因此3个变量是:Php codeigniter中的未定义变量和非对象属性,php,codeigniter,Php,Codeigniter,对于我的3个变量,我收到以下两条错误消息: 消息1)未定义变量:行 消息2)尝试获取非对象的属性 编辑:(最终找到了编辑按钮),因此3个变量是: $anatomic_code = $rows->NerveCode; $ProxAccess = $rows->ProxAccess; $DistAccess = $rows->DistAccess; 在我看来,正是这三行给了我这两个错误 我没有包括模型,因为我认为问题不在那里,更重要
$anatomic_code = $rows->NerveCode;
$ProxAccess = $rows->ProxAccess;
$DistAccess = $rows->DistAccess;
在我看来,正是这三行给了我这两个错误
我没有包括模型,因为我认为问题不在那里,更重要的是,由于我之前的开发人员使用了许多不同的表来存储数据,所以它的代码相当多。。。不过,如果需要的话,我准备发布它
控制器->
function se_enkel_test()
{
$this->freakauth_light->check('submitter');
$tech_num = $this->uri->segment(6);
$this->load->model('view_single_test','',true);
$data['query'] = $this->view_single_test->query();
$data['query_tech_type'] = $this->view_single_test->query_tech_type();
$data['query_parameters'] = $this->view_single_test->query_parameters();
$data['query_tech_name'] = $this->view_single_test->query_tech_name();
$data['query_test'] = $this->view_single_test->query_test();
$data['query_temperat'] = $this->view_single_test->query_temperat();
$data['query_semiq'] = $this->view_single_test->query_semiq();
$data['query_conclusion'] = $this->view_single_test->query_conclusion();
$data['query_side'] = $this->view_single_test->query_side();
$this->load->model('mysql_create','',true);
$data['dropdown_conclusion_diagnosis'] = $this->mysql_create->get_dropdown_conclusion($tech_num);
$data['dropdown_conclusion_duration'] = $this->mysql_create->get_dropdown_duration_diagnosis();
$data['dropdown_conclusion_severity'] = $this->mysql_create->get_dropdown_severity_diagnosis();
$this->load->view('auh/se_enkel_test', $data);
}
查看->
elseif ($struct_id == "3") {
foreach($query->result() as $rows):
if ($rows->NerveCode > 10000 ){
echo "<h3>N." . $rows->NerveName . ") (" . $side->SideText.")</h3>";
}
else {
echo "<h3>N." . $rows->NerveName . " (" . $rows->ProxName . " - ";
if ($rows->Code < 3000) {
echo "m.";
}
echo $rows->DistName . ") (" . $side->SideText.")</h3>";
}
endforeach;
$anatomic_code = $rows->NerveCode;
$ProxAccess = $rows->ProxAccess;
$DistAccess = $rows->DistAccess;
}
看起来您实际上并没有将查询结果传递给视图:
$data['query'] = $this->view_single_test->query();
没有看到模型,很难做出有根据的猜测。分配给$data['query']的值应该是结果对象。
不是最干净的,但请尝试返回
$query->result()从模型中编码>并将其分配给控制器中的一个变量,然后将该变量传递给视图。错误消息表示未定义$rows,这意味着$query->result()没有行。您在哪里执行查询?你确定你从数据库中得到了什么并且查询是正确的吗?你研究过错误消息了吗?他们一直都在讨论,如果他们对你来说还不是很清楚,那么现有答案中的一个解释应该能够帮助你理解正在发生的事情。至于你在这里提出的问题,请先阅读。告诉我们你有错误,却不告诉我们错误在哪里。关于哪些行上的变量/对象,这并没有真正的帮助。逐字引用错误消息!我只是忘记了,因为我太专注于把代码放进去了。现在我不知道如何“编辑”这篇文章,让你们知道其中的台词。。我很抱歉。编辑我找到了编辑按钮,现在更新了帖子。非常抱歉,在你问题的左下角,我上传了我模型中“查询”的部分。也许有帮助?我不知道你所说的$query->result()是什么意思;尝试返回$query->result();而不仅仅是$query;这给了我这个错误:致命错误:调用数组上的成员函数result()。当您开始返回$query->result()
时,您是否记得在视图中仅为$query
更改$query->result()
?在我看来,我在foreach循环中调用查询,语法是什么样子的?我试图简单地删除“->result()”,所以它只显示$query。但是我得到了一个“致命的错误”。。它说我不能在foreach循环中调用它。。谢谢你这么努力地帮助我,我很感激!
$data['query'] = $this->view_single_test->query();