Primeiramente estou usando MariaDB.
FILE: conexao.js
const mariadb = require('mariadb/callback')
const conexao = mariadb.createConnection({
host: '127.0.0.1',
port: 3306,
user:'root',
password:'senha',
database: 'banco'
})
module.exports = conexao
FILE: atendimentos.js (Pasta Controllers)
const Atendimento = require('../models/atendimentos')
module.exports = app =>{
app.get('/atendimentos', (req,res) => res.send('Voce esta na rota atendimentos teste'))
app.post('/atendimentos' , (req,res) => {
const atendimento = req.body
Atendimento.adiciona(atendimento)
res.send('Voce esta na rota de atendimento e esta realizando um post')})
};
FILE: Atendimentos.js (Pasta models)
const conexao = require('../infraestrutura/conexao')
class Atendimento {
adiciona(atendimento) {
const sql = 'INSERT INTO atendimentos SET ? '
console.log(sql)
conexao.query(sql, atendimento,( erro ) => {
if(erro){
console.log(erro)
}else{
console.log(resultados)
}
})
}
}
module.exports = new Atendimento
FILE: tabelas.js (infraestrutura)
class Tabelas {
init(conexao){
this.conexao = conexao
this.criarAtendimentos()
}
criarAtendimentos(){
const sql =
'CREATE TABLE if not exists Atendimentos (id int not null auto_increment, cliente varchar(80) not null, pet varchar(20),servico varchar(20) not null, status varchar(20) not null, observacoes text, PRIMARY KEY(id) )'
this.conexao.query(sql, erro =>{
if(erro){
console.log(erro)
}else{
console.log('Tabela Atendimento criada com sucesso')
}
})
}
}
module.exports = new Tabelas
RESULTADO logs consign v0.1.6 Initialized in C:\Users\ADM\Desktop\projetoNode.js
- .\controllers\atendimentos.js
Servidor
conectado com sucesso
Tabela Atendimento criada com sucesso
INSERT INTO atendimentos SET ?
SqlError: (conn=60, no: 1064, SQLState: 42000) 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 ''{"cliente":"fernando","pet":"sonic","servico":"cortar","status...' at line 1
sql: INSERT INTO atendimentos SET ? - parameters:[{"cliente":"fernando","pet":"sonic","servico":"cortar","status":"agendado","observacoes":"pelo longos"}]
at Object.module.exports.createError (C:\Users\ADM\Desktop\projetoNode.js\node_modules\mariadb\lib\misc\errors.js:61:10)
at PacketNodeEncoded.readError (C:\Users\ADM\Desktop\projetoNode.js\node_modules\mariadb\lib\io\packet.js:505:19)
at Query.readResponsePacket (C:\Users\ADM\Desktop\projetoNode.js\node_modules\mariadb\lib\cmd\resultset.js:46:28)
at PacketInputStream.receivePacketBasic (C:\Users\ADM\Desktop\projetoNode.js\node_modules\mariadb\lib\io\packet-input-stream.js:104:9)
at PacketInputStream.onData (C:\Users\ADM\Desktop\projetoNode.js\node_modules\mariadb\lib\io\packet-input-stream.js:169:20)
at Socket.emit (events.js:375:28)
at addChunk (internal/streams/readable.js:290:12)
at readableAddChunk (internal/streams/readable.js:265:9)
at Socket.Readable.push (internal/streams/readable.js:204:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
text:
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 ''{\\"cliente\\":\\"fernando\\",\\"pet\\":\\"sonic\\",\\"servico\\":\\"cortar\\",\\"status\\...' at line 1
, sql: 'INSERT INTO atendimentos SET ? - parameters:[{"cliente":"fernando","pet":"sonic","servico":"cortar","status":"agendado","observacoes":"pelo longos"}]', fatal: false, errno: 1064, sqlState: '42000', code: 'ER_PARSE_ERROR'