【问题标题】:Getting extra space in Codeigniter like query在 Codeigniter 中获得额外的空间,如查询
【发布时间】:2016-03-21 12:36:17
【问题描述】:

我的代码是

$this->db->like('postcoderegion','Brighton And Hove'); $query = $this->db->get('postcode'); $result = $query->result();

Mysql查询

SELECT * FROM `postcode` WHERE postcoderegion LIKE '%Brighton And Hove%' ESCAPE '!'

当我看到 mysql 查询时,我在“AND”或“Hove”之间得到了一个额外的空格。请让我知道如何删除这个额外的空间。当我没有设置 Hove 时,它​​不会产生任何空间。

【问题讨论】:

  • 不会有问题的
  • 您使用哪个版本的 CI?
  • Codeigniter 自动在 'AND' 或 'Hove' 之间添加了一个空格。所以它不匹配任何记录
  • $val='Brighton And Hove' 然后使用$this->db->like('postcoderegion',$val); 并检查
  • @Saty 我已经像你一样检查了 $val='Brighton And Hove' 然后 $this->db->like('postcoderegion',$val); bt 仍然占用额外的空间

标签: php mysql codeigniter


【解决方案1】:

UPD:已在 3.0.2 (https://github.com/bcit-ci/CodeIgniter/issues/4093) 中修复,因此请更新到最新版本(目前为 3.0.5)。

(以下是之前的回答,不相关。)


我认为这是 CI 的查询生成器中的一个错误,所以我提交了一个 isuue — https://github.com/bcit-ci/CodeIgniter/issues/4551

请看这里 — https://github.com/bcit-ci/CodeIgniter/blob/3.0.5/system/database/DB_query_builder.php#L2378(适用于 3.0.5,但这部分代码与 3.0.1 相同)。

您可以尝试自己修复或等待 CI 团队修复。

【讨论】:

  • 您是否尝试过复制它? - 没有。
  • @Narf 是的,我已经将当前版本更新到 3.05 现在它解决了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 2013-05-12
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
相关资源
最近更新 更多