gpt4 book ai didi

php - 显示通过搜索查询找到的列

转载 作者:行者123 更新时间:2023-11-29 10:58:27 24 4
gpt4 key购买 nike

我有一段简单的代码,可以从一个数据库表中的所有行中搜索三列。表名称是“文章”,我正在搜索的 3 列是“标题、描述和标签”。当我搜索一个单词或短语时,它会向我显示结果,我想知道是否有办法让我显示在结果中找到了 3 列中的哪一列。我是否必须为结果返回的每一行运行单独的查询,还是有更简单的方法?我在下面包含了我的代码片段。

$query = $_GET['q'];
$sql = "SELECT * FROM articles WHERE (`title` LIKE '%".$query."%') OR (`description` LIKE '%".$query."%') OR (`tags` LIKE '%".$query."%') ORDER BY dateadded";
$query = $db->query($sql);
while($row = $query->fetch_assoc()) {
display
}

最佳答案

快速解决方法是使用您的条件选择一些附加列:

SELECT *,
IF(`title` LIKE '%".$query."%', 1, 0) AS conditionTitle,
IF(`description` LIKE '%".$query."%', 1, 0) AS conditionDescription,
IF(`tags` LIKE '%".$query."%', 1, 0) AS conditionTags
FROM articles
WHERE (`title` LIKE '%".$query."%')
OR (`description` LIKE '%".$query."%')
OR (`tags` LIKE '%".$query."%')
ORDER BY dateadded";

现在,您可以检查每行中这些附加列的值,以检查是否在该特定字段中找到 $query

请注意,您应该使用准备好的语句,因为现在您可能遇到 SQL 注入(inject)问题。

关于php - 显示通过搜索查询找到的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42651378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com