代码之家  ›  专栏  ›  技术社区  ›  YaddyVirus

NextJS API中where子句中的未知列

  •  0
  • YaddyVirus  · 技术社区  · 2 年前

    我正在编写一个API,它将根据一个类别从MySQL表中获取数据。代码目前看起来是这样的。

    import { sql_query } from "../../../lib/db"
    
    export default async function handler(req, res) {
        var category = 'Starters'
        if (req.method === 'GET') {
            try {
                const results = await sql_query({
                    query_string: `SELECT * FROM products WHERE category = ${category}`
                })
                return res.status(200).json(results)
            } catch (error) {
                res.status(500).json({ message: error.message })
            }
        }
    }
    

    由于某种原因,这不会通过,相反,我看到了这个错误消息

    {“message”:“ER_BAD_FIELD_ERROR:where中的未知列'Starters'” 子句'}

    据我所知,我的MySQL查询很好,因为它在PHPMyAdmin中工作正常。有人能指出我做错了什么吗?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Stu    2 年前

    该错误表示正在注入参数并在列名的上下文中使用,您需要将其包含在引号中:

    `SELECT * FROM products WHERE category = '${category}'`