从regexp

时间:2019-01-07 23:07:44

标签: regex database codeigniter query-builder

我需要帮助,我试图找到解决方案,但直到现在我发现的只是与正则表达式相关的内容,但我认为问题可能出在另一个地方。

我在本地有一个项目(Windows 10-> Xampp最新版本[Apache&Mysql],我使用CodeIgniter作为框架,我开发了使用REGEXP(我使用查询生成器)在数据库中进行搜索的功能

一切正常。在这里我搜索了saltarín <-请注意字母i上的重音符号 enter image description here

因此,既然可以正常工作,我决定更新在线网站,但是当我测试在线项目时,我发现搜索带有重音符号的字符(在这种情况下为字母ñ)时出现错误跳转在本地也可以。

enter image description here 我检查了数据库配置,在database.php中,我已将dbcollat​​设置为utf8_spanish_ci,并将我的在线数据库和表也设置为utf8_spanish_ci,我认为这必须是服务器配置,但我不知道它的真正含义可能是

如果您需要它,这是使用regexp的代码

$this->db->where("lower(secret_colum_name) REGEXP", $this->secret_hehe);

非常感谢您的宝贵时间,非常感谢您的帮助。

编辑:我忘了提到我正在使用托管服务来托管我的网站

1 个答案:

答案 0 :(得分:0)

又是我。就像我怀疑它与服务器有关一样,经过数小时的研究,我发现我的服务器没有相同的扩展名和配置,您可以使用php -m命令来查找本地扩展名,因此然后,您可以在远程服务器上启用它们,就我而言,我必须通过c-panel进行操作,但您的情况可能有所不同。

enter image description here

我还更改了远程服务器中的php版本,我不确定下一件事,但这可能有所帮助。

我在模型中定义了一个二传手,接下来要做的事

$this->my_var = strtolower($my_var);

我删除了strtolower,在完成了前面提到的所有步骤之后,我重新加载了网站,现在可以正常使用了

enter image description here