mysql - 查询无法使用node.js node-mysql

标签 mysql node.js

我的查询有什么问题吗?我有这个错误: enter image description here

con.query(
           'SELECT nick FROM channels WHERE room=1room',
           function(err, rows) {
               if (err) throw err;
               console.log(rows);
           }
       );

我尝试了这个,但我有同样的错误:

var room = "1room";
       con.query(
           'SELECT nick FROM channels WHERE room=' + room,
           function(err, rows) {
               if (err) throw err;
               console.log(rows);
           }
       );

最佳答案

它将 1room 视为变量,而不是字符串。将其用引号括起来,它应该可以工作。

con.query(
   'SELECT nick FROM channels WHERE room="1room"',
   function(err, rows) {
       if (err) throw err;
       console.log(rows);
   }
);

对于第二个示例,您应该养成 escaping the variables 的习惯您出于安全原因在查询中使用(以防止 SQL 注入(inject))。

var room = "1room";
con.query(
   'SELECT nick FROM channels WHERE room=?',
   [room],
   function(err, rows) {
       if (err) throw err;
       console.log(rows);
   }
);

关于mysql - 查询无法使用node.js node-mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42077480/

相关文章:

php - 我可以给出一个中间字符串来从 mysql 表中获取哪些值中间有该字符串吗?

php - 如何有效地找到给定位置附近最近的位置

node.js - 带有 UI 的 Docker 中的 Selenium 测试执行

json - vscode调试器找不到模块

android - Mysql 与 Parse.com

mysql - 为现有表添加自增ID?

mysql - SQL从/到特定用户获取最后消息

node.js - 运行 "node"时将参数传递给 "npm run"可执行文件

javascript - Angular 2 ES6/7 Eventemitter 更新其他组件

javascript - Unit.js , Mocha example.js 失败 0 通过