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

标签 php mysql

我有一个如下所示的 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/

相关文章:

php - 将参数传递给过滤器 - Laravel 4

php - 创建一个 PHP 网络应用程序以允许用户对提交的内容进行投票 - 如何最大程度地减少滥用

php - 为什么我的 JSON 数组查询不起作用?

php - 在 Doctrine/PDO 中,如何获取 sql 查询列名

mysql - 从数据库表中删除用户帐户权限

php - WooCommerce - Ajax 添加到购物车并更新总计

php - 运行 PHP 脚本(目标隐藏)但链接到 PDF(未隐藏)

php - 想要使用 cURL 而不是 SimpleXML_load_file()

java - 在 java spring boot 中使用 Mysql 函数

mysql - 使用 * 时如何在 select 中添加附加列?