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

时间:2017-02-06 21:23:08

标签: 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);
           }
       );

1 个答案:

答案 0 :(得分:2)

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

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

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

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