我正在创建模型,我想访问控制器中的方法,但查询给出错误:
mysqli_sql_exception#1064您的sql语法有错误;查看与MariaDB服务器版本对应的手册,了解在第3行":0:AND 1=:1:LIMIT 1'"附近使用的正确语法
我的代码中有什么错误?
<?php
namespace AppModels;
use CodeIgniterModel;
class UserModel extends Model{
protected $table='users';
protected $allowedFields=['employee_name','employee_email','employee_phone','employee_dept','employee_grade','employee_password','employee_cpassword','emp_image'];
public $db;
public function __construct()
{
$this->db = ConfigDatabase::connect();
}
public function getEmployee($id=false)
{
if($id==null)
{
return $this->findAll();
}
return $this->where(['id',$id])->first();
}
}
控制器:
public function edit($id) {
$model = model(UserModel::class);
$data['emp']=$model->getEmployee($id);
print_r($data['emp']);
exit();
}
路线:
$routes->get('/edit/(:num)','Admin::edit/$1');
更改自:
return $this->where(['id',$id])->first();
至
return $this->where('id', $id)->first();
或
return $this->where(['id' => $id])->first();
看看这里的文件