Socket.io、Node.js:如何在 javascript.js 中将 javascript 变量传递给 mysql 查询?

Posted

技术标签:

【中文标题】Socket.io、Node.js:如何在 javascript.js 中将 javascript 变量传递给 mysql 查询?【英文标题】:Socket.io, Node.js: How can a javascript variable be passed to mysql query from in a javascript.js? 【发布时间】:2020-09-25 10:00:49 【问题描述】:

尝试将值为'222.222.222.222' 的变量传递到mysql 查询时出错,但在将值为'2' 的变量传递到同一个mysql 查询时不会出错。

任何帮助将不胜感激。

这给出了错误:

var javascriptVariable = '222.222.222.222';

$query = 'INSERT INTO misc_table (misc_field) VALUES ('+javascriptVariable+')';

connection.query($query, function(err, rows, fields) 
if(err)
    console.log("An error ocurred performing the query.");
    return;
    
    console.log("Query succesfully executed: ", rows);
    );

这不会给出错误:

var javascriptVariable = '2';

$query = 'INSERT INTO misc_table (misc_field) VALUES ('+javascriptVariable+')';

connection.query($query, function(err, rows, fields) 
if(err)
    console.log("An error ocurred performing the query.");
    return;
    
    console.log("Query succesfully executed: ", rows);
    );

【问题讨论】:

$query = 'INSERT INTO misc_table (misc_field) VALUES ('+javascriptVariable+')'; :) 这真的很基础,只是尝试再次了解 js 基础知识,我猜你那里需要一些问题.???? 编辑了问题,但仍然无法正常工作。有错误:An error ocurred performing the query. 哦,好吧,我看到你得到了答案,最好以 bdw 的方式使用它。谢谢@Vasyl Moskalov 【参考方案1】:

从未想过以这种方式更新数据库。 第一的。事实上,你尝试执行下一段代码

INSERT INTO misc_table (misc_field) VALUES (222.222.222.222)

第二。这是sql注入的直接方法

第三。试试这样的

var javascriptVariable = '222.222.222.222';

let $query = 'INSERT INTO misc_table (misc_field) VALUES (?)';
connection.query(
    $query,[ javascriptVariable ], 
    function (...args) 
....
    
);

【讨论】:

以上是关于Socket.io、Node.js:如何在 javascript.js 中将 javascript 变量传递给 mysql 查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 node.js 中以角度使用 socket.io?

如何在 Node.js 中从请求参数获取经过身份验证的用户到 socket.io

如何将 Asterisk ARI 与 socket.io 和 Node.js 一起使用

Socket.io、Node.js:如何在 javascript.js 中将 javascript 变量传递给 mysql 查询?

Node.js+Socket.io+MongoDB webapps 是如何真正异步的?

如何使用 Socket.io 和 Node.js 开发大型聊天应用程序 [关闭]