rest-api-node-js icon indicating copy to clipboard operation
rest-api-node-js copied to clipboard

Erro após realizar a conexão do MySQL

Open tiagomendonc opened this issue 3 years ago • 6 comments

Estou no passo 6, onde realiza a conexão do MySQL, entretanto acontece que está dando o seguinte erro quando tento usar o POST no localhost:3000/produtos para inserir o filme A Múmia, segue o erro que aparece no prompt:

C:\API\routes\produtos.js:16 conn.query( ^

TypeError: Cannot read properties of undefined (reading 'query') at C:\API\routes\produtos.js:16:14 at C:\API\node_modules\mysql2\lib\pool.js:60:18 at PoolConnection. (C:\API\node_modules\mysql2\lib\connection.js:775:13) at Object.onceWrapper (node:events:646:26) at PoolConnection.emit (node:events:538:35) at PoolConnection._notifyError (C:\API\node_modules\mysql2\lib\connection.js:236:12) at ClientHandshake. (C:\API\node_modules\mysql2\lib\connection.js:125:14) at ClientHandshake.emit (node:events:538:35) at ClientHandshake.execute (C:\API\node_modules\mysql2\lib\commands\command.js:39:14) at PoolConnection.handlePacket (C:\API\node_modules\mysql2\lib\connection.js:456:32) [nodemon] app crashed - waiting for file changes before starting...

O que pode ser este erro? O que faço para resolver?

tiagomendonc avatar Mar 30 '22 20:03 tiagomendonc

Este erro é muito comum no typescript: TypeError: Cannot read properties of undefined (reading 'query')

O que significa que está tentando usar o atributo de um objeto que está nulo, e este objeto é o conn, você está deixando de instanciar a variável conn. Ou não está importando ou está importando da maneira incorreta

Maransatto avatar Mar 31 '22 10:03 Maransatto

Tenho um repositório no link https://github.com/tiagomendonc/API_molde onde está meu código atualmente, não consegui achar o erro no objeto conn, pode dar uma olhadinha para mim e me orientar no que tenho que fazer?

tiagomendonc avatar Mar 31 '22 14:03 tiagomendonc

tente mudar pra mysql invés de mysql2

Maransatto avatar Mar 31 '22 17:03 Maransatto

fiz isso na intenção de consertar, que vi alguns comentários dizendo que pode ajudar, mas continuou o mesmo erro

tiagomendonc avatar Mar 31 '22 18:03 tiagomendonc

Tive o mesmo problema acima, verifique o seu arquivo "mysql.js":

const pool = mysql.createPool({ "user" : "process.env.MYSQL_USER", "password" : "process.env.MYSQL_PASSWORD", "database" : "process.env.MYSQL_DATABASE", "host" : "process.env.MYSQL_HOST", "port" : "process.env.MYSQL_PORT"

});

No meu caso acabei colocando aspas por engano nos "process.env.MYSQL"... Depois que retirei funcionou na hora. Segue o trecho de código correto>

const pool = mysql.createPool({ "user" : process.env.MYSQL_USER, "password" : process.env.MYSQL_PASSWORD, "database" : process.env.MYSQL_DATABASE, "host" : process.env.MYSQL_HOST, "port" : process.env.MYSQL_PORT

});

BoniDeveloper avatar Apr 04 '22 19:04 BoniDeveloper

tentei trocar o meu código pelo o seu e continua dando o mesmo erro, não sei mais o que fazer kkkk

tiagomendonc avatar Apr 04 '22 23:04 tiagomendonc