gpt4 book ai didi

php - 具有特殊字符的 Codeigniter 查询

转载 作者:行者123 更新时间:2023-11-29 02:45:05 24 4
gpt4 key购买 nike

我正在为我的项目使用 codeigniter 3。在我的数据库中,我有一个表正在被其他一些身份验证系统使用。我在搜索具有特殊字符的值时遇到的问题(在数据内部/与数据连接)

$query = "SELECT * FROM tablename WHERE value = '$#!"."asdasd<3ddasd"."'";

甚至 $this->db->query($query); 没有返回任何想要的输出。在 echo $this->db->last_query(); 之后我收到了查询,这是应该的。如果我将它复制到 phpmyadmin,它会给出正确的结果。

根据 SO 和其他一些页面中的一些讨论,我也尝试过

  • $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-!#@<$';
  • db 是 utf8_general_ci是服务器连接排序规则。

我放在这里的查询只是为了向您展示一个场景,并且我使用了事件记录。

编辑 1:我使用 $this->input->post() 获取输入。编辑 2:刚刚发现不适用于 "$#!"."asdasd<3ddasd" 但适用于 "$#!".asdasd3ddasd"

最佳答案

确保您不要忘记对帖子值进行 urldecode。可能发生的情况是您使用 $_POST 而不是 codeigniter 函数 $this->input->post();

$_POST 不会在 codeigniter 函数执行时为您对参数进行 urldecode。

因此请验证您传递给查询的变量确实是 selänne 而不是 sel%C3%A4nne

如果是sel%C3%A4nne,使用urldecode()或者$this->input->post()

引用自This Question

关于php - 具有特殊字符的 Codeigniter 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43845117/

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