-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.js
99 lines (86 loc) · 2.24 KB
/
database.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// 以 Express 建立 Web 伺服器
var express = require("express");
var app = express();
// 以 body-parser 模組協助 Express 解析表單與JSON資料
var bodyParser = require('body-parser');
app.use( bodyParser.json() );
app.use( bodyParser.urlencoded({extended: false}) );
// Web 伺服器的靜態檔案置於 public 資料夾
app.use(express.static("public"));
// 以 express-session 管理狀態資訊
var session = require('express-session');
app.use(session({
secret: 'secretKey',
resave: false,
saveUninitialized: true
}));
// 一切就緒,開始接受用戶端連線
app.listen(process.env.PORT);
app.listen(80);
console.log("Web伺服器就緒,開始接受用戶端連線.");
console.log("鍵盤「Ctrl + C」可結束伺服器程式.");
// 建立資料庫連線
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'root',
port:'3307',
database : 'shoppingSite'
});
//連線異常報錯
connection.connect(function(err) {
// if (err) throw err;
if (err) {
console.log(JSON.stringify(err));
return;
}
});
// 依 HTTP 的 Method (POST/GET/PUT/DELETE) 進行增查修刪
//callback函式
//app.method(url,callback)
// --------------------------------------------------------------
// 資料庫介面
app.get("/home/news", function (req, res) {
connection.query('select Id,Name,Phone,Email from members',
'',
function(err, rows) {
if (err) {
console.log(JSON.stringify(err));
return;
}
//傳回Json陣列
res.send(JSON.stringify(rows));
}
);
})
//增加:create(不需要id)
app.post("/home/news", function (req, res) {
connection.query(
"insert into members set Name = ?, Phone = ? ,Email = ? ",
[
req.body.Name,
req.body.Phone,
req.body.Email
]);
res.send("row inserted.");
})
app.put("/home/news", function (req, res) {
connection.query(
"update members set Name = ?, Phone = ? ,Email = ? where Id = "
+ req.body.Id,
[
req.body.Name,
req.body.Phone,
req.body.Email
]);
res.send("row updated.");
})
//刪:delete(只需要id)
app.delete("/home/news", function (req, res) {
connection.query(
"delete from members where Id = " + req.body.Id,
[]
);
res.send("row deleted.");
})