Ошибка при попытке запустить простую программу в узле 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, для правильного синтаксиса для использования рядом с" user_details "в строке 1"?

благодаря

3 ответа

Ваш запрос Строка должна быть var querystring = "SELECT * FROM user_details" а не SELECT * user_details


Как уже указывалось, ваш SQL ошибочен - вы пропустили ключевое слово FROM из предложения FROM.

Ваш цикл for также может привести к ошибке

for (var я in rows) будет перебирать все свойства объекта. Вероятно, вы просто хотите перебирать элементы массива, поэтому вам нужно будет перебирать только индексы

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

или вы можете работать:

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


Вы забыли поставить "От" по вашему запросу:

var queryString = "select * from user_details";

licensed under cc by-sa 3.0 with attribution.