我有一个如下所示的 mysql 表;
+----+-------------+-------------+-------------+-------------+
| 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 * FROM table WHERE Column1 LIKE'%$keyword%' AND Column4 = ''";
即使我没有为 col4 提供任何关键字,我也想显示结果。但我无法避免这一部分,因为我有时会提供 col4 的一些数据。顺便说一句,即使我在 col4 中没有什么可检查的,我也想显示数据。我怎样才能使这成为可能?我的查询不应查找 col4,除非我在查询中提供 xxxxxx 或 yyyyyy。
最佳答案
当您有数据要在 col4 中检查时,为什么不直接更改查询呢?
if ($needToCheckColumn4) {
$query = "SELECT * FROM table WHERE Column1 LIKE'%$keyword%' AND Column4 = '$col4'";
} else {
$query = "SELECT * FROM table WHERE Column1 LIKE'%$keyword%'";
}
关于即使没有给出关键字,php mysql 查询也会获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328686/