codeigniter 4 mysqli_sql_exception #1064 可见

codeigniter 4 mysqli_sql_exception #1064 in view

这对我来说很奇怪。因为在 codeigniter 4 中,我的功能之一在控制器中工作但在视图中不工作。我正在从控制器中的数据库中获取数据,但是当我尝试从视图中获取相同的数据时,它显示 mysqli_sql_exception #1064.

示例代码:

在控制器中(MyData.php)

function get_data($status){
    return $this->Data->get_data($status);
}

function view_data(){
    return view('user/view-data',['data'=>$this])
}

模型中 (MyData.php)

function get_data($status="approved"){
    return $this->select()->where('status',$status)->get()->getResultArray();
}

在视图中(MyData.php)

$datas = $data->get_data('approved');

错误

mysqli_sql_exception #1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '*, *, *

我相信你的 view_data 功能应该是

function view_data(){
    return view('user/view-data',['data'=>$this->get_data('approved')])
}

然后在视图中循环 $data 数组

视图是您绝不能需要执行 sql 查询的地方。您只需将数据(对象、数组、字符串、整数等)传递给视图。