php mysql查询获取数组,即使没有给出关键字
我有一个mysql表,如下所示php mysql查询获取数组,即使没有给出关键字,php,mysql,Php,Mysql,我有一个mysql表,如下所示 +----+-------------+-------------+-------------+-------------+ | Sl | Column1 | Column2 | Column3 | Column4 | +----+-------------+-------------+-------------+-------------+ | 1 | Data1A | Data2A | Data3A
+----+-------------+-------------+-------------+-------------+
| Sl | Column1 | Column2 | Column3 | Column4 |
+----+-------------+-------------+-------------+-------------+
| 1 | Data1A | Data2A | Data3A | xxxxxx |
+----+-------------+-------------+-------------+-------------+
| 2 | Data1B | Data2B | Data3B | yyyyyy |
+----+-------------+-------------+-------------+-------------+
| 3 | Data1C | Data2C | Data3C | xxxxxx |
+----+-------------+-------------+-------------+-------------+
| 4 | Data1D | Data2D | Data3D | yyyyyy |
+----+-------------+-------------+-------------+-------------+
| 5 | Data1E | Data2E | Data3E | xxxxxx |
+----+-------------+-------------+-------------+-------------+
我有一个查询,$query=“SELECT*来自表中的列1,如“%$keyword%”和列4=”代码>
我想显示结果,即使我没有为col4提供任何关键字。但我无法避免这一部分,因为我会在某个时候为col4提供一些数据。顺便说一句,我想显示的数据,即使我没有什么检查在col4。我怎样才能做到这一点??我的查询不应查找col4,除非我在查询中提供xxxxxx或YYYYY
$query = "SELECT * FROM table WHERE Column1 LIKE'%$keyword%' AND Column4 LIKE '%$keyword2%'";
如果$keyword2是空字符串,它将匹配任何内容。当您有数据要签入col4时,为什么不更改查询
if ($needToCheckColumn4) {
$query = "SELECT * FROM table WHERE Column1 LIKE'%$keyword%' AND Column4 = '$col4'";
} else {
$query = "SELECT * FROM table WHERE Column1 LIKE'%$keyword%'";
}
我想使用=
,而不是像那样使用,然后使用user138821的建议-尽管我会在if语句中放入$col4,因为您不需要两个变量。