我想用codeigniter
来运行sql查询,但由于查询中的单引号而无法获得成功。以下是我的查询:从sql查询中删除单引号
function getStaffUser($uid, $participant_list=0) {
$rid='1,2,3';
$where = "FIND_IN_SET(users.role_id, '".$rid."')";
$where_plist = "NOT FIND_IN_SET(users.uid, '".$participant_list."')";
$this->db->select("users.uid, CONCAT(`users`.`given_name`, ' ',`users`.`surname`) as 'user_name'", false);
$this->db->from('users');
$this->db->where($where);
$this->db->where("users.uid!=", $uid, false);
if($participant_list!=0){
$this->db->where($where_plist, false);
}
$data = $this->db->get();
pr($this->db->last_query()); exit;
if ($data->num_rows() == 0)
return false;
else
return $data->result();
}
它返回下面的查询:
SELECT users.uid, CONCAT(`users`.`given_name`, ' ', `users`.`surname`) as 'user_name' FROM (`users`) WHERE FIND_IN_SET(users.role_id, '1,2,3') AND users.uid!=1 AND `NOT` FIND_IN_SET(users.uid, '1,18,60')
但是,查询是除单引号仅在过去的'NOT'
无一不精。如果删除那个单引号并运行在sqlyog
它工作正常。
因此,删除它的最好方法是什么。我试图使用false
,但它也没有工作。
ANy help?
谢谢。
Downvoted? :S我看不出有什么问题。我一直试图寻找解决方案,但没有取得成功,最终我在这里提出,以便获得一些帮助。如果问题出现问题,我们将不胜感激。 THanks – 2014-12-02 00:50:21
你需要设置'$ this-> db-> where('where_plist',NULL,FALSE);'**而不是**'$ this-> db-> where($ where_plist,false); ' – 2014-12-02 05:17:42