如何使用codeigniter的模型从节点js获取数据?

时间:2017-07-09 09:30:15

标签: php node.js codeigniter

更新。 我正在使用codeigniter,我想从节点js api获取数据,但我需要能够通过codeigniter的模型获取它,我还需要能够将参数传递给节点js。

这是我到目前为止所做的 - 它工作正常 - 但我无法想象如何将参数传递给SQL查询 - 从模型到节点js。

如果到目前为止还不清楚 - 请查看代码 - 我也在那里添加了一些解释。

以下是模型(users_model.php)

  public function node_get($id) 
{
    $foo = file_get_contents('http://localhost:3000/'.$id);
    return $foo ;
}

这里是node.js app(app.js)

 var mysql = require('mysql');

var con = mysql.createConnection({
host: "something",
user: "something",
password: "something",
database: "something"
});

  var user_id; <---------------------------How can i pass this in the model?

  var user_data;
  con.connect(function(err) {
 if (err) throw err;
  con.query("SELECT * FROM users_data WHERE user_id ="+user_id, function 
    (err, 
    result, fields) {
    if (err) throw err;
    user_data = result;
    // console.log(user_data);
      });
   });


   app.get('/', function(req, res){

   res.send(JSON.stringify(user_data, null, 3));

   });


  app.listen(3000);

1 个答案:

答案 0 :(得分:0)

得到它......

var express = require('express');
var app = express();
var helmet = require('helmet');

var port = process.env.PORT || 3000;
var mysql = require('mysql');

app.use(helmet.hidePoweredBy());
app.use(helmet.xssFilter());
app.use(helmet.frameguard);
app.get('/:user_id', function(req, res){

var user_id = req.params.user_id;

if(user_id == null){
    user_id =1;
}
var con = mysql.createConnection({
    host: "something",
    user: "something",
    password: "something",
    database: "something"
});

con.connect(function(err) {
    if (err) throw err;
    con.query("SELECT * FROM users_data WHERE user_id ="+user_id, function (err, result, fields) {
        if (err) throw err;
        res.send( JSON.stringify(result));
    });
});

});

app.listen(port);