Estoy escribiendo una API que obtendría datos de una tabla MySQL basada en una categoría. El código actualmente se ve así.
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 }) } } }Esto no funciona por alguna razón y, en su lugar, veo este mensaje de error
{"mensaje":"ER_BAD_FIELD_ERROR: Columna desconocida 'Principiantes' en 'cláusula where'"}
Por lo que sé, mi consulta de MySQL está bien porque funciona bien en PHPMyAdmin. ¿Alguien puede señalar lo que estoy haciendo mal aquí?
El error indica que el parámetro se está inyectando y utilizando en el contexto de un nombre de columna, debe contenerlo entre comillas:
`SELECT * FROM products WHERE category = '${category}'`