반응형
먼저 mysql 를 node js에 연결시킵니다
db.js 파일을 생성한뒤 작성
// mysql 연결
const mysql = require('mysql');
const { response } = require('express');
const { resourceUsage } = require('process');
const db= mysql.createConnection({
host: 'ip 주소', //개인ip주소
user:'sql아이디',
password: 'sql비번',
port:3306,
database:'LostArkDB' //테이블명 mysql로 치면 use LostArkDB 가 된다
});
db.connect(function(err) {
if (err) throw err;
console.log('Connected');
});
module.exports=db;
이후 db가 필요한 파일에서 연결을 시켜줍니다
라우트폴터 내 mydb라는 js로 작성하였다
const db=require('./routes/mydb');
쿼리 작성
db.query('select * from users;', function(err, result) {
if (err) throw err;
res.send(result);
});
db는 앞서 const db로 선언하였으니 db이고 이부분은 위 선언에 따라서 변동될 수 있다
**파라미터를 이용한 쿼리 작성방법
var sql = 'SELECT * FROM users WHERE user_id=? AND user_pw=?';
db.query(sql , [username, password], function (err, result) {
if(err) console.log('mysql 에러');
// 입력받은 ID와 비밀번호에 일치하는 회원정보가 없는 경우
if(result.length === 0){
console.log("결과 없음");
return done(null, false, { message: 'Incorrect' });
}else{
console.log(result);
var json = JSON.stringify(result[0]);
var userinfo = JSON.parse(json);
console.log("userinfo " + userinfo);
return done(null, userinfo); // result값으로 받아진 회원정보를 return해줌
}
})
sql이라는 변수에 쿼리를 string타입으로 작성하되, row에 있는 값을 ? 로 파라미터 처리하였다
이후에 db.query(sql,[ㅇㅇㅇ,ㅁㅁㅁ]에서각각 ? ?가 ㅇㅇㅇ, ㅁㅁㅁ으로 바뀌어 들어간다 하드코딩 줄이기 좋아보임
추가로
반응형
'BackEnd > 로스트아크 Work' 카테고리의 다른 글
passport를 통한 mysql 및 로그인 구현 Node.js (0) | 2021.08.16 |
---|---|
로스트아크 숙제 프로젝트 3일차 (0) | 2021.06.21 |
로스트아크 숙제 프로젝트 2일차 (0) | 2021.06.21 |
로스트아크 숙제 프로젝트 1일차 (0) | 2021.06.21 |