【问题标题】:Codeigniter ActiveRecord: Where Clause with custom stringCodeigniter ActiveRecord:带有自定义字符串的 Where 子句
【发布时间】:2016-07-06 10:44:38
【问题描述】:

我想使用 CI 活动记录搜索以下字符串。

点击您想使用的活动或预订代码。

我的查询如下:

$this->db->selet("id");
$this->db->where("column_name", "Click on the Event or Booking Code you would like to use.");
$this->db->from("table_name")
$ret = $this->db->get();

但它不起作用,因为 CI 将转义字符串并产生如下选择查询:

SELECT id FROM table_name WHERE column_name = '点击事件或 Booking Code youwould喜欢用。'

这个问题有解决办法吗?

【问题讨论】:

    标签: codeigniter activerecord where-clause


    【解决方案1】:

    这应该可行:

    $this->db->where("column_name = 'Click on the Event or  Booking Code you would like to use.'", NULL, FALSE);
    

    【讨论】:

    • $this->db->where() 中不需要 WHERE。它应该是这样的: $this->db->where("column_name ='单击您想使用的事件或预订代码。'", NULL,FALSE);我已经尝试过这种方法,但问题是它可以是任何字符串。有时“您不能使用此代码”。然后就不行了
    • $this->db->query() 和 $this->db->e​​scape() 将在这种情况下工作。感谢您的帮助。
    • 我不确定我得到了什么问题。如果您必须找到可能不同的值,请使用字符串变量而不是纯文本。
    • 你的代码会去掉escape()函数的使用。假设我的自定义字符串类似于“您不能使用此代码”(请注意句子中的撇号)。如果我完全省略了 db escape() 函数,最终会出现 MySQL 错误。无论如何,我发现 $this->db->query() 和 $this->db->e​​scape() 函数按预期工作。
    • 你用什么数据库引擎
    猜你喜欢
    • 2015-06-18
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    相关资源
    最近更新 更多