【问题标题】:(PHP) Checking if a field is empty in a database query call and output data if it isn't(PHP) 检查数据库查询调用中的字段是否为空,如果不是则输出数据
【发布时间】:2025-12-12 20:10:02
【问题描述】:

我正在为搜索引擎组合一个数据库查询,您可以在其中指定该行是否应该在结果中包含图像字符串。在数据库中,如果没有图像,则该字段将为空,或者将具有随机图像名称(例如 1238791.jpg)。当我构造查询字符串时,我会检查每个字段并将搜索中请求的内容添加到字符串中。

例如,如果填写了“用户名”字段,则会将"AND username LIKE '%$searchUsername%'"作为示例添加到字符串中。但是,我不确定如何继续找出是否有图像(检查 NULL 在这里不起作用),因为如果有 is 图像我需要提取 名称 图片,以便我可以在结果中使用或打印出来。

任何帮助表示赞赏。

【问题讨论】:

  • 可能是我健忘,但为什么if == "" 不起作用?
  • 您正在尝试使图像字段可搜索?例如。 "返回 imagefield 中包含 '1238791.jpg' 且用户名字段包含 "joe" 的行?
  • 我想它可能,但我对如何继续提取字段的字符串内容(如果它不为空)有点困惑。
  • @ Marc B - 不,这不是我的本意。在搜索表单中,系统会询问您是否希望在搜索查询中需要图像,并选择“是”或“否”。如果我选择否,我只会得到没有图像的结果(空白/空字段)。如果我选择“是”,则查询将在该字段中搜索带有图片字符串的任何行,但我必须能够提取该字段中的内容,以便稍后参考该图像。

标签: php database search extraction


【解决方案1】:

这行得通吗?不知道我是否完全理解..

select * from tbl where imageName != '' and imageName != null


编辑

如果我选择 NO,我只会得到结果 没有图像(空白/空 场地)。如果我选择是,查询将


您必须检查用户输入并根据输入设置两个查询。那么你应该知道要拉取哪些字段。

【讨论】:

    【解决方案2】:

    这是一种无需将 php-if 语句添加到您的 sql 的方法

    select (imageName is not null and imageName <> '') as hasImage, other columns from tbl
    

    【讨论】: