1

我面临一个小问题。我正在使用 Like 运算符运行查询。但问题是 codeigniter 正在自动替换 '% 字符。例如,这是我的代码...

$where = "resume_id = '" . $resume_exist[0]['resume_id'] . "' AND finish_date LIKE '%" . $project_year . "%'";

从逻辑上讲,当我为 $project_year 选择一些值时,它应该像这样执行

$where = "resume_id = '123' AND finish_date LIKE '%2013%'";

当我打印查询时,这是正在执行的东西

resume_id = '123' AND finish_date LIKE ' 13%'

您会看到 %20 被替换为空格...

请帮助我如何更正此查询。

谢谢和等待...

4

3 回答 3

0

尝试这个

$where = "resume_id = '" . $resume_exist[0]['resume_id'] . "' AND DATE_FORMAT(finish_date,'%Y') = '" . $project_year . "'";
于 2013-09-11T16:39:44.620 回答
0

这是绕过这种情况的替代解决方案。

将您的查询更改为 $where = "resume_id = ? AND finish_date LIKE ?";,然后当您调用查询函数时,请执行以下操作: $this->db->query($query_start.$where.$query_end, array($resume_exist[0]['resume_id'], "%$project_year%"));我假设您将查询的开头存储在$query_start其中,将查询的结尾存储在$query_end

于 2013-09-11T19:43:30.750 回答
0

我明白了...实际上 %20 正在转换为空格字符...

于 2013-09-11T18:04:27.170 回答