node.js mysql module 新舊版連線方式比一比
node.js mysql module 新舊版連線方式比一比
/* 連線設定部分,參數名稱相同,可以直接延用 */
var db_options = {
host: 'your.database.ip.address',
port: 3306,
user: 'username',
password: 'password',
database: 'db_name'
};
/* (1) mysql@2.0.0-alpha4連線設定 */
var mysql = require('mysql')
exports.db = mysql.createConnection(db_options);
/* (2) mysql@0.9.6連線設定 */
var mysql = new require('mysql'), db = null;
db = mysql.createClient(db_options); <-- 新版已經沒有mysql.createClient這個建構式了...
/* (3) 這邊有一個比較安全的匯整寫法 */
if(mysql.createConnection) {
console.log('Using createConnection...');
db = mysql.createConnection(db_options); //2.0的寫法
} else if(mysql.createClient) {
console.log('Using createClient...');
db = mysql.createClient(db_options); // 0.9的寫法
} else {
console.log('Using Client...');
db = new mysql.Client(db_options); // 更早期版本的建構方式
db.connect(function(err) {
if(err) {
console.error('connect db ' + db.host + ' error: ' + err);
process.exit();
}
});
}
/* 查詢部分不變 */
db.query('select 1+1 as summ', function(err, rows, fiels) {
if(err) return console.log(JSON.stringify(err));
console.log(rows);
console.log(fiels);
db.end();
});