【发布时间】:2021-01-12 17:42:58
【问题描述】:
我有一个包含任何列的数据库表。 UI页面中有3个表单输入,用户可以通过这些输入在表格中搜索一个值。用户可以为一列(输入)、两列或全部插入值。表示其中一个或两个输入值可能为 null 并且用户不使用它们进行搜索。 如何创建搜索查询?因为下面的代码有问题。如果用户不插入所有 3 列的值,此查询将出错。
$query="SELECT * FROM insurance WHERE nationalCode=:nationalCode AND insuranceNumber=:insuranceNumber
AND insuranceType=:insuranceType;";
换句话说,如果用户定义了 3 列的值,我需要在表中搜索 3 列,否则如果用户有 2 列的插入值,则搜索将通过这两列进行,如果用户只有插入值for 1 of column search 将按该 1 列进行。
【问题讨论】:
-
你试过用
OR代替AND吗? -
那么 :insuranceType 不设置的值是多少?
-
亲爱的@ O.Jones 或者对我的黄金没有用处。因为如果用户将值插入所有输入,我需要按所有用户输入进行搜索。
标签: mysql where-clause