Я писал программу и столкнулся с ошибкой, которую Google не приносит результатов. Я использую async.series для выполнения нескольких запросов последовательно. Однако мой первый запрос возвращает действительно странную ошибку, для которой Google не возвращает никаких результатов. Любая помощь приветствуется!Parser бросает функцию как ошибку при запросе базы данных MySQL?
Ошибка:
C:\path_to_root_project_folder\node_modules\mysql\lib\protocol\Parser.js:78
throw err; // Rethrow non-MySQL errors
^
function() {
var args = arguments,
index = -1,
length = nativeMax(args.length - start, 0),
array = Array(length);
while (++index < length) {
array[index] = args[start + index];
}
index = -1;
var otherArgs = Array(start + 1);
while (++index < start) {
otherArgs[index] = args[index];
}
otherArgs[start] = transform(array);
return apply(func, this, otherArgs);
}
Код:
async.series([
function(callback){ //generate uuid
console.log("generating uuid..");
newUuid = uuid(); //these are also defined
console.log("$$$$$$$$$$$$ " + email); //email is defined in the function this async series is nested in
callback(null);
return;
},
function(callback){
console.log("$$$$$$$ querying email");
pool.query("SELECT * FROM users WHERE INSTR(email, '" + email + "') > 0", function(err, rows){ //I think it errors out here?
if(err) {
throw err;
}
if(rows[0] != null){
res.json({ //res is defined
status: 200,
success: "EmailExists"
});
res.end();
duplicate = true; //duplicate is defined
callback(err);
}
callback(err);
});
}], function(error){if(error) throw err;});
EDIT: После дальнейшего изучения с точки останова, я обнаружил, что ошибка была дальше вниз, в другой SQL запрос. По какой-то причине, ошибка броска является «[объект Object]
Кода:. (Это после последней асинхронной серии в моем исходном коде
function(callback){
pool.query("SELECT * FROM chapters WHERE INSTR(school, '" + school + "') > 0", function(err, rows){
if(err) throw err;
debugger;
callback(rows);
});
},
Ваш запрос, будучи подверженным SQL-инъекции, на самом деле выглядит логически корректным. Можете ли вы пройти через свой код с помощью отладчика, чтобы увидеть, что происходит? –
что в 'err'? – xShirase
@TimBiegeleisen После беспорядка с отладчиком на некоторое время, я обнаружил, что на самом деле ошибка была выброшена из дальнейшего кода. Я отредактировал сообщение с соответствующим кодом и ошибкой. –