[英]“You have an error in your SQL syntax ” after upgrade to CodeIgniter 3
将网站更新为CodeIgniter 3后 ,出现此错误
我的代码:
public function get_pickedItems(){
$this->db->select('p.user_id,u.user_name,u.email,u.full_name,u.thumbnail,u.address,u.phone_no,u.postal_code,u.state,u.country,u.city');
$this->db->from(USER_PAYMENT.' as p');
$this->db->join(USERS.' as u' , 'p.user_id = u.id');
$this->db->join(PRODUCT.' as pd' , 'pd.id = p.product_id');
$this->db->where('p.user_id > 1 GROUP BY p.user_id');
$this->db->order_by('p.id','ASC');
return $this->db->get();
}
错误
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`p`.`user_id` ORDER BY `p`.`id` ASC' at line 5
SELECT `p`.`user_id`, `u`.`user_name`, `u`.`email`, `u`.`full_name`, `u`.`thumbnail`, `u`.`address`, `u`.`phone_no`, `u`.`postal_code`, `u`.`state`, `u`.`country`, `u`.`city` FROM `shopsy_user_payment` as `p` JOIN `shopsy_users` as `u` ON `p`.`user_id` = `u`.`id` JOIN `shopsy_product` as `pd` ON `pd`.`id` = `p`.`product_id` WHERE `p`.`user_id` > `1 GROUP BY` `p`.`user_id` ORDER BY `p`.`id` ASC
Filename: models/User_model.php
Line Number: 462
我更改的唯一与数据库相关的东西是config / database.php文件。
由于3.0.0将Active Record重命名为Query Builder,因此在config / database.php中,您需要将$ active_record变量重命名为$ query_builder
$active_group = 'default';
// $active_record = TRUE;
$query_builder = TRUE;
如果您查看完整的查询-您的分组依据放错了位置。
$this->db->group_by('p.user_id');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.