Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro SQL node não está reconhecendo o parâmetro "?"

Olá tudo bem? estou com um erro no meu projeto. Estou realizando a rota para criar o PET do curso e estou recebendo um erro de sintaxe, ele não está reconhecendo o ponto de interrogação do meu post para inserir o PET retornando o erro de sintaxe SQL Minha classe:


class Pet{
    adiciona(pet,res){
        const sql = 'INSERT INTO pet SET ?'
        conexao.query(sql,pet,erro =>{
            if(erro){
                console.log('erro')
                res.status(400).json(erro)
            }else{
                res.status(200).json(pet)
            }
        })
    }

meu arquivo pets.js

const pet = require('../models/pets')
const Pet = require('../models/pets')
module.exports = app =>{
    app.post('/pet',(req,res) =>{
        const pet = res.body

        Pet.adiciona(pet,res)
    })

o retorno que ocorre ao tenta executar um post é : { "code": "ER_PARSE_ERROR", "errno": 1064, "sqlMessage": "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?' at line 1", "sqlState": "42000", "index": 0, "sql": "INSERT INTO pet SET ?" } Nome da tabela: pet

meu postman está enviando e recebendo json então também não é o formato de envio que está ocasionando o erro. alguém pode me ajudar?

2 respostas
solução!

Opa David, tudo bem?

Cara, vendo a aula ela cria a tabela como pets no plural, diria para conferir se você realmente criou ela como pet ou como pets.

Outro ponto, na linha const pet = res.body não é res, troque para req.body

Espero que isso resolva.

Valeu!

Era isso mesmo o correto era a req.body muito obrigado Erick não tinha visto.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software