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

Erro Cannot read property 'length' of undefined

Ao final do módulo 2 apareceu esse erro:

TypeError: /Users/andrecosta/Projetos/casadocodigo/app/views/produtos/lista.ejs:11 9| 10|

11| <%for(var i=0; i 12|

13| <%=lista[i].id%> 14| <%=lista[i].titulo%>

Cannot read property 'length' of undefined at eval (eval at (/Users/andrecosta/Projetos/casadocodigo/node_modules/ejs/lib/ejs.js:491:12), :11:27) at returnedFn (/Users/andrecosta/Projetos/casadocodigo/node_modules/ejs/lib/ejs.js:520:17) at View.exports.renderFile [as engine] (/Users/andrecosta/Projetos/casadocodigo/node_modules/ejs/lib/ejs.js:374:31) at View.render (/Users/andrecosta/Projetos/casadocodigo/node_modules/express/lib/view.js:126:8) at tryRender (/Users/andrecosta/Projetos/casadocodigo/node_modules/express/lib/application.js:639:10) at EventEmitter.render (/Users/andrecosta/Projetos/casadocodigo/node_modules/express/lib/application.js:591:3) at ServerResponse.render (/Users/andrecosta/Projetos/casadocodigo/node_modules/express/lib/response.js:960:7) at Query._callback (/Users/andrecosta/Projetos/casadocodigo/app/routes/produtos.js:7:11) at Query.Sequence.end (/Users/andrecosta/Projetos/casadocodigo/node_modules/mysql/lib/protocol/sequences/Sequence.js:85:24) at Query.ErrorPacket (/Users/andrecosta/Projetos/casadocodigo/node_modules/mysql/lib/protocol/sequences/Query.js:94:8)

3 respostas

Opa, dá uma olhada nessa outra dúvida => https://cursos.alura.com.br/forum/topico-error-length-function-not-identified-24052 ? Acho que pode ter a solução para seu problema.

Vi o que me pediu. Meu db tem o nome casadocodigo, minha tabela tem o nome livros mudei a query para que estava "select from produtos" para "select from livros" e não funcionou.

Dá uma olhada no meu código, por favor: https://bitbucket.org/alcimar/casadocodigo

solução!

Funcionou. Eu havia mudado no nome do parâmetro da função produtoBanco de erro para err e não havia mudado também no log e o nome da tabela estava errado na query.

produtoBanco(err, results){ console.log(erro) ... }

Resolvendo o problema, retirando a letra 'o' da palavra erro:

produtoBanco(err, results){ console.log(err) ... }