当前位置: 首页 > 面试题库 >

Codeigniter查询构建器在where_in中使用爆破功能

劳韬
2023-03-14
问题内容

这是我使用爆破功能的普通SQL查询:

SELECT * from search_result WHERE skills IN ('".implode("','",$s_id)."');

现在,我想将其转换为codeigniter形式。我尝试了以下代码,但失败了

$this->db->from('search_result');
$this->db->where_in('skills','".implode("','",$s_id)."');
$query = $this->db->get();

这是我的$s_id数组:

Array ( [0] => 2D Design [1] => 3D Design [2] => 3D Modelling )

所以任何人请帮助我做到这一点。提前致谢 :)


问题答案:

官方医生说的

$names = array('Frank', 'Todd', 'James'); # Data Array 
$this->db->where_in('username', $names); # passing array

尝试如下

方法01推荐

$this->db->from('search_result');
$this->db->where_in('skills',$s_id);
$query = $this->db->get();

方法02

$this->db->from('search_result');
$this->db->where_in('skills',implode("','",$s_id));
$query = $this->db->get();

这条线怎么了

$this->db->where_in('skills','".implode("','",$s_id)."');

不要用'"引号括住函数。然后将其另存为STRING值到DB。

链接

  1. where_in codeigniter.com中的子句


 类似资料:
  • 查询构建器建立在 Database Access Objects 基础之上,可让你创建 程序化的、DBMS无关的SQL语句。相比于原生的SQL语句,查询构建器可以帮你 写出可读性更强的SQL相关的代码,并生成安全性更强的SQL语句。 使用查询构建器通常包含以下两个步骤: 创建一个 yii\db\Query 对象来代表一条 SELECT SQL 语句的不同子句(例如 SELECT, FROM)。 执

  • 暴力破解是指利用穷举的方法对用户名和密码进行匹配,直到匹配到正确的内容。当用户设置的密码较为单一时,则通过工具会很快的获取到正确的用户名和密码对服务器进行登录。 G01“防暴力破解”通过对单一IP的请求时间及错误请求次数限制暴力破解,当超过设置的条件时则对提交请求的IP进行锁定。 对服务器登录规则进行设置,默认为2分钟内提交错误请求超过10次则锁定60分钟。

  • 问题内容: 我必须在添加子句之后立即将表达式动态地添加到所返回的查询构建器中。我找不到任何合适的方式来做到这一点,我才刚刚开始学习Doctrine。 我如何“链接”给定数量的并将其添加到我的构建器中? 问题答案: 您可以检查此解决方案:

  • 问题内容: 我正在使用CodeIgniter将一些数据插入MySQL表中。因为我正在使用并且不想编辑活动记录类以启用此功能,所以我正在手动生成SQL查询。 问题: 当字符串中包含单引号时,查询失败。如何使这些需要转义的字符自动转义,例如使用活动记录时? 问题答案: 另一种方法是使用查询绑定,该绑定会自动转义所有值:

  • 问题内容: 这个问题已经在这里有了答案 : 在同一网页上显示两个表的数据 (1个答案) 7年前关闭。 我在CodeIgniter中使用联接查询,但无法使其正常工作。它仅显示一个表数据,而不显示其他表数据。我是CodeIgniter的新手,无法解决此问题。请别人帮我。提前谢谢。 看法 控制器 模型 编辑 的结果 是一个如下数组: 表结构 证书 cid(PRIMARY),姓名,second_name,

  • 问题内容: 是否有一个库,可以像JPA中那样以编程方式构建SPARQL查询,或者可以像使用for SQL 一样构建查询? 问题答案: 您可以使用两种方法在Jena中以编程方式构建查询:语法或代数。耶拿维基上有一个介绍。 使用代数,您将执行以下操作: (摘自Wiki页面) 不是(也不是预期的),但是那是其中的一些方式。您而不是AND,而您想要进行OR等。痛点是我的经验中的表达式:您可能想从字符串中解