gpt4 book ai didi

php - 不能使用 CodeIgniter 的 LIKE()

转载 作者:搜寻专家 更新时间:2023-10-30 23:40:26 24 4
gpt4 key购买 nike

由于某些错误或我缺乏 ODBC 连接方面的知识,我无法使用 CodeIgniter 的

$this->db->like();

(如果你真的想知道为什么我不能使用它,请参阅我的其他线程 here。)

如何替换

$this->db->like("name", 'a', 'after');

使用其他一些安全代码?

编辑:

显然,我的描述不清楚。

我知道如何使用“like()”。我的问题是由于其他情况我不能使用它。我需要的是“like()”的替代品。

我知道我可以这样做:

$this->db->where("name LIKE 'a%'", NULL, FALSE);

但这并不安全。

编辑 2:

也许这可行:

$user_input = "a";

//Escape input
$escaped_input = $this->db->escape($user_input);

//add a %-sign to the end of the escaped input
$like_input = substr_replace($escaped_input, "%", -1, 0)

$this->db->where("name LIKE " . $like_input, NULL, FALSE);

但我感觉它不会阻止 SQL 注入(inject)。

最佳答案

有3种方法可以遵循。

  1. 之后

    $this->db->like('name', 'a', 'after'); 
    // Output: WHERE name LIKE 'a%'
  2. 之前

    $this->db->like('name', 'a', 'before'); 
    // Output: WHERE name LIKE '%a'
  3. 两者

    $this->db->like('name', 'a', 'both'); 
    // Output: WHERE name LIKE '%a%'

Check your database connection and database library loaded as well

$this->db->like() in Codeigniter

关于php - 不能使用 CodeIgniter 的 LIKE(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35578077/

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