Кажется, что это должно быть очень просто, и я застрял около двух часов. Четыре отдельных человека смотрели и не обнаружили очевидной проблемы. Поэтому я снова обращаюсь к сообществу SO.Ошибка INSERT INTO с mysql-node
Настоящий прост - я просто пытаюсь вставить данные в базу данных mysql через mysql-node. Я не получаю никаких ошибок соединения, и SELECT работает нормально. Код используется является:
exports.postNewCast = function(data, res) {
var query = "INSERT INTO cast (name, portrait, role, bio) VALUES ('" + data.name + "', '" + data.portrait + "', '" + data.role + "', '" + data.bio + "');";
console.log(query);
dbConnection.query(query, data, function(err, result) {
if (err) {
console.log(err);
} else {
sendResponse(res, "Cast Member Added", 201);
}
});
};
Ошибка после входа в:
{ [Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cast (name, portrait, role, bio) VALUES ('Jessie', 'images/cast/marissa.jpg', 'L' at line 1]
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlState: '42000',
index: 0 }
Странная часть (для меня), что я могу скопировать из моего окна терминала (когда сервер работает) console.logged строку запроса и вставьте ее в командную строку mysql, и она работает нормально. Я попытался использовать GRANT, чтобы убедиться, что сервер пользователя работает, имеет разрешения, и это ничего не делало. Я пробовал копировать/вставлять синтаксис INSERT INTO прямо из рабочих источников и заменять только свои поля, зависящие от данных. Я пробовал использовать VALUES? а затем объект данных и получил тот же результат.
Какая глупость я делаю?
Спасибо.
добавить 'around имя таблицы, например' \ 'cast \' ' –
Это были обратные тики. Я думал, вы имеете в виду одиночные кавычки, и это не сработало. Но обратные клещи сделали это. – DrHall