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); });