Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nodejs Mysql查询表名作为变量_Mysql_Node.js - Fatal编程技术网

Nodejs Mysql查询表名作为变量

Nodejs Mysql查询表名作为变量,mysql,node.js,Mysql,Node.js,如何将表名作为变量传递。基本上,我想做一个e函数,在这个函数中,我将以表名为参数,使用nodejs在mysql数据库中插入对象记录 我的功能是 exports.insertIntoDb = function(tableName,insertObj) { connection.query('INSERT INTO administrator SET ?',insertObj, function(error, result, fields) { if(error){ res

如何将表名作为变量传递。基本上,我想做一个e函数,在这个函数中,我将以表名为参数,使用nodejs在mysql数据库中插入对象记录 我的功能是

exports.insertIntoDb = function(tableName,insertObj) {
 connection.query('INSERT INTO administrator SET ?',insertObj, function(error, result, fields) {
    if(error){
        res.json({
            status:false,
            message:'There is some problem with query'
        })
    }
    else{
        res.json({
            status : true,
            data : result,
            message: 'user registered successfully'
          })    
       }
  });
 }
但我想知道如何在这个查询中传递表名,这个查询是从函数中获取的参数。我问的是语法?我正在使用nodejs-mysql

试试这个:

exports.insertIntoDb = function(tableName,insertObj) {
  connection.query('INSERT INTO ?? SET ?', [ tableName, insertObj ], ...)
};
此处记录:

在app.js中:

app.put('/updateCell', async function(req, res) {
    console.log("REST: PUT /updateCell");
    let orderInfo = req.body;
    let cellValue = orderInfo.cell;
    let CustomerName = orderInfo.CustomerName;
    let ColumnName = orderInfo.columnName;

    connection.query("UPDATE vehicles SET ?? = ? WHERE order_CustomerName = ?", [columnName, cellValue, customerName],
        function(err, result) {
          if (err) throw err;
        });
        res.send();
});
例如:

//cellValue = "Fluffiest hat of them all";
//customerName = "Jenny Hopkins";
//columnName = "description";
因此,SQL查询将与以下内容相同:

UPDATE order SET description = "fluffiest hat of them all" WHERE order_CustomerName = "Jenny Hopkins";

这在文档中已经解释过了,开始并逐步深入。@robertklep我发现这个查询接近我的解决方案var userId=1;var columns=['username','email'];var query=connection.query('SELECT??FROM??WHERE id=?',[columns,'users',userId],function(error,results,fields){if(error)throw error;//…});但在我的例子中,我正在进行insert查询,并希望在sql查询中发送对象。在这个查询中,并没有一种方法可以在查询中放置对象。在这个查询中,他以数组的形式插入列,但我想以对象和表名的形式发送colunms。在这种情况下,您需要重新格式化您的问题,因为您正在(反复)提问如何将表名传递到查询中,而不传递任何对象。@robertklep请仔细阅读我的问题。我提到我想在sql insert查询中传递对象,并将表名作为变量传递。所以你们能指导我修改我的查询并告诉我怎么做吗?“但我想知道如何在这个查询中传递表名,它是从函数中获取的参数”。这就是你要问的。thanx:)你的解决方案帮了我的忙。