gpt4 book ai didi

Codeigniter:$this->db->like() 的奇怪行为

转载 作者:行者123 更新时间:2023-12-04 02:28:21 25 4
gpt4 key购买 nike

我写了一个简单的查询来搜索数据库中的关键字。

$keyword = "keyword sample"; 
$keyword = str_replace(" ", "%", $keyword);

$this->db->select('*')->from('table')
->like('column', "%".$keyword."%")->get();

现在Codeigniter生成的查询是这样的:
SELECT * FROM (`table`) WHERE `column` LIKE '%keyword\%sample%'

尾随在哪里 \来自查询?这是在进行错误的搜索,而不是返回实际在数据库中的数据。我已经检查了所有内容,我编写的代码似乎没有任何问题。请帮忙!

最佳答案

如果您深入了解 CodeIgniter 的内部结构,您会注意到 $this->db->like()函数转义它包含的特殊字符 - 当然包括 % .

我不认为 like()将帮助您解决您的特殊需求。我猜你最好的选择是绕过这个问题并使用 where包含您的 LIKE 的函数条款:

$this->db->select('*')->from('table')->where("column LIKE '%$keyword%'")->get()->result_array();

关于Codeigniter:$this->db->like() 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22544195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com