gpt4 book ai didi

Mysql 查询 - 在此查询中加入导致我感到困惑

转载 作者:行者123 更新时间:2023-11-29 00:50:48 26 4
gpt4 key购买 nike

我有一个查询返回与匹配特定类别的项目相关的结果...

有 3 个 mysql 表,itemscategoriesitem_categories

我认为这些是不言自明的,但后者是一个链接表,使用 ID 的匹配将任何特定项目链接到任何特定类别。

items 表包含一行,id 值为 1。

类别表包含 15 行,id 值为 1-15。

item_categories 表包含一行,item_id 值为 1,category_id 值为 5。

这是 php 形式的 mysql 查询:

$catResultQuery = "
SELECT i.id, name, price
FROM items i
INNER JOIN item_categories
ON i.id = item_id
INNER JOIN categories c
ON category_id = c.id
WHERE MATCH (c.id)
AGAINST ('{$_SESSION['input']}' IN BOOLEAN MODE)
ORDER BY name
";

session 变量的值为 5,但出于某种原因,此查询显示 0 个结果集。

即使我在 php myadmin 中运行查询,它也返回 0 行。

我很困惑,因为在我看来,所有这一切背后的逻辑似乎相当简单,但出于某种原因我得到 0?有谁知道我哪里出了问题?

任何建议和输入将不胜感激,谢谢!!

最佳答案

好的,我现在知道您正在动态构建 SQL。如果是这样,那么这应该可行:

SELECT i.id, name, price
FROM items i
INNER JOIN item_categories
ON i.id = item_id
INNER JOIN categories c
ON category_id = c.id
WHERE c.id
IN ('{$_SESSION['input']}')
ORDER BY name

只需确保'{$_SESSION['input']}' 是逗号分隔的,并注意这会带来 SQL 注入(inject)的风险,因为您正在动态构建 SQL。

关于Mysql 查询 - 在此查询中加入导致我感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8631437/

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