nodeJsサーバーとmysqlデータベースとチャットしようとしています。
ここでモジュール(Mysqlerという名前)を作成することにしました:
var mysql = require('mysql');
var Mysqler = function(query) {
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'watchat',
});
connection.connect();
Mysqler.prototype.query = function (query) {
var res = mysql.query(query, function(err, result, fields) {
console.log(result);
if (err) throw err;
else return result;
});
console.log(res);
return res;
};
};
module.exports.Mysqler = Mysqler
しかし、これを関数で呼び出すと、次のようになります。
mysql = require("./mysqler");
function connection(clients, socket, data) {
var username = usefull.deleteBreakLine(data[1]);
var password = usefull.deleteBreakLine(data[2]);
var result = mysql.Mysqler("SELECT * FROM Users");
for (var i in result)
{
var user = result[i];
socket.write(user.username);
}
}
しかし、結果変数には何も返されません。console.log()をモジュールに入れると、何も出力されません。