Node.js在開發時,連結資料庫是一定會用到的
這裡先紀錄Node.js與Mysql連接的方法
1.安裝Node.js裡的mysql套件
npm install mysql
2.mysql_connect.js
跟一般開發網站相同,把資料庫連結的這一段獨立出來,避免重複的程式碼太多
var db_options = {
host: "127.0.0.1",
user: "root",
password: "123",
database: "test"
};
var mysql = new require("mysql");
var db = null;
db = mysql.createConnection(db_options);
db.connect(function(err) {
if(err) {
console.error(err);
return;
}
console.log("Mysql Connect");
});
//將mysql的client 存入 exports
exports.db = db;
3.存取資料庫
//引入先前的mysql connect
var config = require("./mysql_config.js");
var db = config.db;
//Query
db.query("SELECT * FROM test_table", function(err, rows, fiels) {
if(err){
console.log(err);
return ;
}
//rows是資料庫query出來的所有資料(JSON)
console.log(rows);
//fiels是欄位的資訊
console.log(fiels);
});
//Insert
db.query("INSERT INTO test_table VALUES(NULL,'Hello')", function(err, result) {
if(err){
console.log(err);
return ;
}
//insert成功的資訊
console.log(result);
});
4.過濾字串
但如果變數都沒有過濾直接丟進mysql做query很危險
這邊按照了PHP的PDO過濾SQL字串的用法實作
db.query("SELECT * FROM test_table WHERE name=?",["Hello"], function(err, rows, fiels) {
if(err){
console.log(err);
return ;
}
console.log(rows);
});