我在codeigniter中生成了一个查询,该查询正在搜索一个与号(&)。直接查询数据库时,其生成的查询工作完美,但是codeigniter不返回任何结果。

我在codeigniter中有以下sql查询:

$where = array('name' => '&');
$this->db->select('*, organisations.postcode, organisations.id ');
$this->db->limit(20, 0);
$this->db->from('organisations');
$this->db->join('contacts','contacts.id = organisations.main_contact_id','left');
$this->db->like($where);
$query=$this->db->get();


这是在创建查询:

SELECT *, `organisations`.`postcode`, `organisations`.`id` FROM `organisations` LEFT JOIN `contacts` ON `contacts`.`id` = `organisations`.`main_contact_id` WHERE name LIKE '%&%' ESCAPE '!' LIMIT 20


该查询有效,但codeigniter无效。

最佳答案

您可以将ESCAPE用作:

WHERE name LIKE '%\!&%' ESCAPE '\!'


Rextester Demo

08-28 02:43