如何修复此错误消息?
你能帮忙吗?
致命错误:无法在第56行的C:\ Program Files \ EasyPHP-Devserver-16.1 \ eds-www \ companygiondaci \ application \ views \ pcategories.php中使用stdClass类型的对象作为数组
致命错误:无法在第56行的C:\ Program Files \ EasyPHP-Devserver-16.1 \ eds-www \ companygiondaci \ application \ views \ pcategories.php中使用stdClass类型的对象作为数组
遇到PHP错误 严重性:错误 消息:不能使用stdClass类型的对象作为数组 文件名:views / pcategories.php
视图/ pcategories.php
<div class="row-fluid">
<div class="span12">
<button type="button" class="add" onclick="location.href='<?php echo site_url('cpages/addparentctg'); ?>';">ADD PARENT CATEGORIES</button>
<div class="widget-box">
<div class="widget-title"><h5>Parent Categories</h5></div>
<div class="widget-content">
<table border="0" style="width: 100%; height: 90px;">
<tr>
<td>PARENT NAME</td>
<td>DESCRIPTION</td>
<td>EDIT</td>
<td>DELETE</td>
</td>
<?php foreach ($posts as $post): ?>
<tr>
<td><?php echo $post['ctgparent_name']; ?></td>
<td><?php echo $post['ctgparent_description']; ?></td>
<td><button type="button" class="edit" onclick="location.href='<?php echo site_url('cpages/editparentctg/'.$post->ctgp_no); ?>';">EDIT</button></td>
<td><button type="button" class="delete" onclick="location.href='<?php echo site_url('cpages/editparentctg/'.$post->ctgp_no); ?>';">DELETE</button></td>
</td>
<?php endforeach; ?>
</table>
</div>
</div>
</div>
</div>
&#13;
控制器/ Cpages.php
public function pcategories() {
$data['posts'] = $this->Mpages->call_parentctg();
//$data['ctgparent_name'] = $this->Mpages->call_parentctg();
//$data['ctgparent_description'] = "Second";//$this->Mpages->retrieve_parentctg();
$this->load->view('pcategories', $data);
}
&#13;
models/Mpages.php
<!-- begin snippet: js hide: false console: true babel: false -->
&#13;
答案 0 :(得分:0)
CodeIgniter将结果行作为对象返回,而不是数组。 所以你需要使用 - &gt;访问它。喜欢而不是$ post ['ctgparent_name'];使用$ post-&gt; ctgparent_name。
答案 1 :(得分:0)
如果您尝试使用$object['property']
表示法访问对象的属性而不必使用$object->property
,则会发生这种情况。在您的情况下,您正在执行$post['ctgparent_name']
和{{1你可以分别将它们改为echo $post['ctgparent_description']
和$post->ctgparent_name
。
如果您使用codeigniter活动记录从数据库中获取数据(我怀疑您这样做),还有另一种解决方案。如果您使用的是$post->ctgparent_description
方法,则会为您提供一个对象。您可以使用$query->result()
代替,现在您可以使用$query->result_array()
符号显示一系列结果。
此外,如果您使用的是$array['whatever']
或PDO
,则可以使用方法将数据库结果集作为数组。请参阅官方文档PDO result array,Mysql result array或Mysql associative array。