我正在编写一个小项目,其中一部分涉及根据用户输入创建 MySQL 查询。用户有很多选项可供选择来构建对数据库的动态查询。我一直在疯狂地寻找我的问题的任何现有答案,但它们似乎都是与我所遇到的不同的问题。
用户可以指定修改查询的选项:
- IP 地址(他们可以输入整个 IP 或部分 IP,它将搜索整个范围)
- 类型(类型 1 / 类型 2)
- 状态(活动/非活动)
- 载体
选择查询将根据他们是否选择上述任何选项而改变。如果他们选择了两种类型,则不需要指定类型条件,同样如果两种状态都选择,则不需要使用状态作为条件。如果用户输入 IP,则应搜索 IP 地址,如果输入运营商,则应搜索该运营商。
我正在尝试使用 PDO 和 Prepare 语句来执行此操作,但我想知道如何使用 PDO 设置准备和执行语句,同时有这么多潜在选项(如果他们只选择一种类型和一种状态,或者两种类型和一个承运人等)。
是否有任何现有的 PDO 功能/方法可以使这更容易?还是我需要创建一堆 if/else 语句来检查每个选项并附加一个 $sql 语句变量?