Codeigniter中类似SQL的查询绑定

Codeigniter中类似SQL的查询绑定,codeigniter,Codeigniter,因此,下面的方法似乎不起作用。我错过了什么 $sql = "SELECT item_id, item_name, category_name, user_data.value FROM items, item_category, user_data WHERE items.user_id = ? AND i

因此,下面的方法似乎不起作用。我错过了什么

$sql = "SELECT item_id, item_name, category_name, user_data.value
                FROM
                    items, item_category, user_data
                WHERE
                    items.user_id = ?
                        AND item_name LIKE ?
                        AND item_location = user_data.id
                        AND item_category = category_id
                ORDER BY item_name";

$query = $this->db->query($sql, array($this->user_id, $search_term));

好的,我知道了。其他一切都很好,只是我修改了绑定如下

$query = $this->db->query($sql, array($this->user_id, '%'.$this->db->escape_like_str($search_term).'%'));

在CI4中,您可以在此模式下使用绑定

$data = $this->getData();
$sql  = "SELECT * FROM users WHERE name_user LIKE :name_user: LIMIT 10";

$bind =
[
   'name_user' => "%{$data['name_user']}%",
];

return $this->db->query($sql,$bind)->getResultArray();

谢谢你。我一时想不起来。这很快就让事情发生了变化,效果很好!可能不需要显式转义字符串,因为系统会通过查询绑定自动转义字符串。