嗨,我正尝试从数据库的预览部分中获取列值,以便通过数据库在网页上获取每个内容。我已经将我的一个表ID与另一个表ID进行了匹配,结果得到了整行并将其保存在变量中,然后尝试从该行中选择一个选择值以显示在我的网页上。 但是,当我尝试获取选择列的值时,在我的页面上出现了提示错误,提示“试图获取非对象的属性”。请帮助我。这是我的代码:-
我的查看页面代码是:-
<ul>
<li><p> <?= $seller->Name; ?></p></li>
<li><p> <?= $switch->return_policy; ?> Return Policy</p></li>
<li><p>Replacement <?= $switch->replacement; ?> </p></li>
<li><p>Cash On Delivery <?= $switch->cod; ?></p></li>
</ul>
错误显示在此行<li><p> <?= $seller->Name; ?></p></li>
我的控制器代码为:-
public function Preview_Switch($switch_id)
{
if($this->session->userdata('seller_username') == "" && $this-
>session->userdata('seller_password') == ""){
return redirect('seller/index');
}
else
{
$result = $this->sm->Preview_Switch($switch_id);
$seller_id = $result->seller_id;
$seller = $this->sm->Get_Seller_Info($seller_id);
if($result)
{
$this->load->view('seller/Work_List/Switch_Preview',
['switch'=>$result, 'seller'=>$seller]);
}
}
}
我的模型代码是:-
enter code here
public function Get_Seller_Info($seller_id)
{
$get_seller_info = $this->db->get_where('seller',['Id'=>$seller_id]);
if($get_seller_info->num_rows > 0)
{
return $get_seller_info->row();
}
else
{
return false;
}
}
该错误仅在卖方表中显示,而我可以从切换表中获取一个值。
答案 0 :(得分:0)
如果您使用return $get_seller_info->row();
而不指定行号,那么您将无法获得预期的结果。
如果确定查询将仅返回一行,请将其更改为return $get_seller_info->row(0);
,您将可以使用控制器中的代码并查看而无需进行进一步更改。
如果不确定要返回多少行,请将其更改为return $get_seller_info->result();
,然后可以在控制器中迭代或查看以遍历返回的每一行(无论返回多少行),或者通过将视图更改为<?= $seller[0]->Name; ?>
答案 1 :(得分:0)
更改:
if($get_seller_info->num_rows > 0)
至:
if($get_seller_info->num_rows() > 0)
参考:
query->num_rows versus query->num_rows()
codeigniter issue with num_rows (possible bug?)