Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php mysql查询获取数组,即使没有给出关键字_Php_Mysql - Fatal编程技术网

php mysql查询获取数组,即使没有给出关键字

php mysql查询获取数组,即使没有给出关键字,php,mysql,Php,Mysql,我有一个mysql表,如下所示 +----+-------------+-------------+-------------+-------------+ | Sl | Column1 | Column2 | Column3 | Column4 | +----+-------------+-------------+-------------+-------------+ | 1 | Data1A | Data2A | Data3A

我有一个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*来自表中的列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,因为您不需要两个变量。