【问题标题】:I'm facing this error Cannot use object of type mysqli as array我正面临这个错误 不能使用 mysqli 类型的对象作为数组
【发布时间】:2021-06-28 04:58:31
【问题描述】:

控制器:

<?php

namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\Services;

class Detail extends Controller
{
    public function nadeem($id)
    {
       $model= new Services();
       $data = $model->select('text','title','image')->where('id',$id);
       $nadeem['result'] = $data->get();
       return view('service_detail', $nadeem);              
    }
}

查看:

<!DOCTYPE html>
<html>
<head>
    <title>Service</title>
</head>
<body>



<?php if ($result): ?> 
    <?php foreach ($result as $key => $value): ?> 
         <p><?php echo $value['text'];?></p> 
    <?php endforeach; ?> 
<?php endif; ?>

</body>
</html>

我遇到了这个错误

不能使用 mysqli 类型的对象作为数组

如何解决这个问题。

【问题讨论】:

  • 请添加您的型号代码。
  • 所有这些行中的哪一行会导致该错误?您尝试过什么解决方法?

标签: php codeigniter-4


【解决方案1】:

把控制器改成这样:

$model = new Services();
$nadeem['result'] = $model->select('text, title, image')->where('id',$id)->findAll();
return view('service_detail', $nadeem); 

基本上在您的情况下,您将查询对象而不是查询结果发送到视图。

此答案假定您使用的是 codeigniter 4 模型而不是自定义模型,因为您没有发布模型。

【讨论】:

  • 感谢它的工作,但只是获取文本我在数据库中有一个图像字段,但图像没有显示
  • 当我像 select('image','text') 一样将图像文件放在第一位时,图像显示,文本不显示
  • @NÂdeemMÅlik 更改了答案以反映您的需求。看选择。如果它有效,请不要忘记标记为已回答。谢谢!
  • 就像我说的,只使用一个字符串而不是多个字符串。因此,而不是 select('foo', 'bar') 使用 select('foo, bar') 就像我的回答一样。 @NÂdeemMÅlik
  • @NÂdeemMÅlik 你能把答案标记为正确吗?
猜你喜欢
  • 1970-01-01
  • 2019-12-11
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多