javascript - Node.js 和 MySQL 函数使用

标签 javascript mysql sql node.js

刚接触node.js,只是不知道如何执行以下操作:

我的数据库模块上有这个:

var mysql = require('mysql');
var MY_DATABASE='nodejs_mysql';

var client = mysql.createClient({
user: 'root',
password: 'root',
});

我正在构建这张表:

client.query(
'CREATE TEMPORARY TABLE '+USER+
'(username VARCHAR(255), '+
'password VARCHAR(255), '+
'name VARCHAR(255), '+
'picture VARCHAR(255), '+
'PRIMARY KEY(username))'
);

稍后,我想执行此操作:

client.query('select username, password from ' + USER + 'where username=?',[req.body.username] , 'AND password=?', [req.body.password] 
function (err, results, fields) {
        if (err) {
            throw err;
        }
   //some actions performed here
});

所有这些都在同一个 dataBase.js 文件中。

如何从另一个名为 server.js 的文件发送用户名和密码

作为上面编写的查询的参数并获取特定值?

有什么办法可以做到这一点吗?

最佳答案

好的,我想我现在明白了。您在 dataBase.js 中创建临时表,并希望在 server.js 的请求处理程序中对该表执行查询。如果是这样,您应该考虑以下方法:

// dataBase.js

var mysql = require('mysql');
var MY_DATABASE='nodejs_mysql';

// connect to database
var client = mysql.createClient({
  user: 'root',
  password: 'root',
});

// create temporary table
client.query(
  'CREATE TEMPORARY TABLE '+USER+
  '(username VARCHAR(255), '+
  'password VARCHAR(255), '+
  'name VARCHAR(255), '+
  'picture VARCHAR(255), '+
  'PRIMARY KEY(username))'
);

// that's what I think you need. And yes, it looks like "a good to rap" for me.
module.exports.getInfoFromTemporaryTable : function( username, password, callback) {
  client.query(
    'select username, password from ' + USER + 'where username=?',
    [req.body.username] , 'AND password=?', [req.body.password], 
    callback
  );
}

我唯一不明白的是你从哪里获得USER变量。注意这一刻。也许将其传递给 getInfoFromTemporaryTable() 函数。

// server.js
var db = require('./lib/dataBase');

app.get(someRoute, function(req, res) {
  db.getInfoFromTemporaryTable( req.body.username, req.body.password,
    function(err, results, fields) {
      if (err) {
        // handle errors or something
        return;
      }

      // do what you need to do, using results you got from temp table
  });
});

我不熟悉您使用的MySQL模块,所以上面的代码更像是您需要实现的一般概念。希望它会有所帮助。

关于javascript - Node.js 和 MySQL 函数使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963193/

相关文章:

javascript - Sencha Touch 2 - 选项卡式面板中的轮播

javascript - 从 Javascript 中的复杂嵌套对象值构建字符串

Mysql简单的选择查询

php/mysql 标签查询模式

mysql - 使用 MySql 外键连接 2 个表

javascript - 单击时保持 jquery 菜单打开

javascript - 如何在 Typescript 中声明给定大小的多维数组

mysql - 如何关闭索引合并,MySQL

sql - 我怎样才能批量更新这个?

mysql - 选择 SUM 大于 X 的行