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);
});
Categories: Node.js