更新。 我正在使用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);
答案 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);