Size: a a a

JavaScript — русскоговорящее сообщество

2020 August 15

A

Alexander in JavaScript — русскоговорящее сообщество
Вот так правильно
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Gunaevart
он почему то вот тут выкидывает
F:\js\nodejs-todo\index.js:44
       if(err) throw err
в updateUser что есть?
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Gunaevart
Я э это понимаю но мне в качестве практики это нужно
Даже для практики делай сразу правильно, там же не сложно:
let sql =  "UPDATE `users` SET `user` = ? WHERE `id` = ?";

conn.query(sql, [user, id], (err, result) => {
   // ...
});
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Alexander
UPDATE users SET user='${updateUser}' WHERE id='${request.params.id}'
Странно что у тебя юзер в боди а адйи в параметрах.
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Сделай console.log(request.body) и console.log(request.params).
источник

G

Gunaevart in JavaScript — русскоговорящее сообщество
Mr. Nobody
Даже для практики делай сразу правильно, там же не сложно:
let sql =  "UPDATE `users` SET `user` = ? WHERE `id` = ?";

conn.query(sql, [user, id], (err, result) => {
   // ...
});
ну вот весь кода
источник

G

Gunaevart in JavaScript — русскоговорящее сообщество
Mr. Nobody
Даже для практики делай сразу правильно, там же не сложно:
let sql =  "UPDATE `users` SET `user` = ? WHERE `id` = ?";

conn.query(sql, [user, id], (err, result) => {
   // ...
});
const express = require('express');
const mysql = require('mysql2');
const bodyParser = require('body-parser');
const app = express();
const PORT = process.env.PORT || 3000
app.set('view engine', 'hbs')
// создаем парсер для данных application/x-www-form-urlencoded
//const urlencodedParser = bodyParser.urlencoded({extended: false});
const urlPars = bodyParser.urlencoded({extended: false})



const conn = mysql.createConnection({
   host : 'localhost',
   user : 'root',
   database : 'test',
   pass : ''
})

conn.connect((err)=>{
   if(err){
       console.log(err);
   }
   else{
       console.log("connect secsess");
   }
})

app.get('/', (req, res)=>{
   conn.query('SELECT * FROM users', (err, result)=>{
       res.render('main', { result })
   })
})

app.get('/register', (req, res)=>{
   res.render('add')

})

app.post('/update', urlPars, (request, responses)=>{
   let updateUser = request.body.user
   let sql =  "UPDATE users SET user = ? WHERE id = ?";
   
   conn.query(sql, updateUser, (err, result)=>{
       if(err) throw err
       responses.send("ok")
   })
})

app.post('/register', urlPars, (request, responses)=>{

   let getUser = request.body.user
   let sql = "INSERT INTO users (user) VALUES (?)"

   conn.query(sql, getUser, (err, result)=>{
       if(err){
           throw err
       }
       responses.render('add', {result })
   })

})

app.get('/:id', (req, res)=>{
   conn.query('SELECT * FROM users', (err, result)=>{
       for (let i = 0; i < result.length; i++) {
           if(result[i]['id'] == req.params.id){
               res.render('update', {name :result[i]['user']})
           }
       }
       
   })
})
app.get('/update/:id', (req, res)=>{
   conn.query('SELECT * FROM users', (err, result)=>{
       for (let i = 0; i < result.length; i++) {
           if(result[i]['id'] == req.params.id){
               res.render('update', {name :result[i]['user']})
           }
       }
       
   })
})

app.listen(PORT)
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
let updateUser = request.body.user

вот что это?
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
let updateUser = request.body.user

вот что это?
Все понял
источник

G

Gunaevart in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
let updateUser = request.body.user

вот что это?
ну это я типа получаю с боди парса данные и записываю их updateUser
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Gunaevart
const express = require('express');
const mysql = require('mysql2');
const bodyParser = require('body-parser');
const app = express();
const PORT = process.env.PORT || 3000
app.set('view engine', 'hbs')
// создаем парсер для данных application/x-www-form-urlencoded
//const urlencodedParser = bodyParser.urlencoded({extended: false});
const urlPars = bodyParser.urlencoded({extended: false})



const conn = mysql.createConnection({
   host : 'localhost',
   user : 'root',
   database : 'test',
   pass : ''
})

conn.connect((err)=>{
   if(err){
       console.log(err);
   }
   else{
       console.log("connect secsess");
   }
})

app.get('/', (req, res)=>{
   conn.query('SELECT * FROM users', (err, result)=>{
       res.render('main', { result })
   })
})

app.get('/register', (req, res)=>{
   res.render('add')

})

app.post('/update', urlPars, (request, responses)=>{
   let updateUser = request.body.user
   let sql =  "UPDATE users SET user = ? WHERE id = ?";
   
   conn.query(sql, updateUser, (err, result)=>{
       if(err) throw err
       responses.send("ok")
   })
})

app.post('/register', urlPars, (request, responses)=>{

   let getUser = request.body.user
   let sql = "INSERT INTO users (user) VALUES (?)"

   conn.query(sql, getUser, (err, result)=>{
       if(err){
           throw err
       }
       responses.render('add', {result })
   })

})

app.get('/:id', (req, res)=>{
   conn.query('SELECT * FROM users', (err, result)=>{
       for (let i = 0; i < result.length; i++) {
           if(result[i]['id'] == req.params.id){
               res.render('update', {name :result[i]['user']})
           }
       }
       
   })
})
app.get('/update/:id', (req, res)=>{
   conn.query('SELECT * FROM users', (err, result)=>{
       for (let i = 0; i < result.length; i++) {
           if(result[i]['id'] == req.params.id){
               res.render('update', {name :result[i]['user']})
           }
       }
       
   })
})

app.listen(PORT)
Почему у тебя так:
conn.query(sql, updateUser, (err, result) => {
Вторым параметром у тебя должен быть массив со значениями, которые заменят вопросительные знаки в запросе, т.е. должно быть так:
conn.query(sql, [user, id], (err, result) => {
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
const sql =  "UPDATE `users` SET `user` = ? WHERE `id` = ?";

conn.query(sql, [updateUser, request.params.id], (err, result) => {
  if(err){
   console.log(err);
  }
});
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Gunaevart
ну это я типа получаю с боди парса данные и записываю их updateUser
Сделай console.log(request.body) и console.log(request.params) и покажи скрин консоли.
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
const sql =  "UPDATE `users` SET `user` = ? WHERE `id` = ?";

conn.query(sql, [updateUser, request.params.id], (err, result) => {
  if(err){
   console.log(err);
  }
});
Тебя не смущает что и боди пост и параметры одновременно используются у него? Надо сначала понять где и что там лежит у него :)
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Mr. Nobody
Сделай console.log(request.body) и console.log(request.params) и покажи скрин консоли.
Великий debugger console.log()💪🏻
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
Великий debugger console.log()💪🏻
😂
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Mr. Nobody
Тебя не смущает что и боди пост и параметры одновременно используются у него? Надо сначала понять где и что там лежит у него :)
А так разве нельзя?
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Никак не юзал params с post
источник

M

Mr. Nobody in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
А так разве нельзя?
Можно, но это может быть и ошибкой. Вообще странно так делать.
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Mr. Nobody
Можно, но это может быть и ошибкой. Вообще странно так делать.
++++
источник