尝试在节点js中运行简单程序时出错

时间:2014-07-11 12:56:15

标签: mysql node.js

当我尝试执行以下程序时,我对节点js不熟悉正在获取异常

var mysql = require('mysql');

var connection = mysql.createConnection({
    host : 'localhost',
    user : 'root',
    password : 'Gemini*123',
    database : 'test'
});

connection.connect();

var queryString = "select * user_details";

connection.query(queryString, function(err, rows, fields) {
    if (err) throw err;

    for (var i in rows) {
        console.log('Post Titles: ', rows[i].user_name);
    }
});

connection.end();

“错误:ER_PARSE_ERROR:您的SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以便在第1行”user_details“附近使用正确的语法” < / p>

谢谢

3 个答案:

答案 0 :(得分:2)

您的查询字符串应为var querystring = "SELECT * FROM user_details"而不是SELECT * user_details

答案 1 :(得分:0)

你忘了把#From;&#39;在您的查询:

var queryString = "select * from user_details";

答案 2 :(得分:0)

正如已经指出的那样,你的SQL错了 - 你错过了FROM子句中的FROM关键字。

您的for循环也可能导致错误

for (var i in rows)将迭代对象的所有属性。您可能只想迭代数组的条目,因此您只想迭代索引而不是

for (var idx = 0; idx < rows.length; idx++) {
  var row = rows[idx];
  ...
}

或者你可以去实现:

rows.forEach(function (row) {
  ...
}