2013-10-05 4 views
0

Я не знаю, почему я не могу получить доступ к своей собственности.Свойство объекта NodeJs-MySQL undefined

connection.query("call VerifyAccountToken(0, null)", function(err, rows, fields) { 
    if(err) console.log("Error: " + err); 

    console.log("SQLRet: ", rows[0].result); 
    console.log(rows); 
    console.log(fields); 
}); 

VerifyAccountToken возвращает результат одной строки/столбца с столбцом с именем «результат». консоль выводит следующее:

SQLRet не определено

[[{результат: 0}], {FieldCount: 0, affectedRows: 0, insertId: 0, ServerStatus: 2, warningCount: 1, сообщение: '', protocol41: правда, changedRows: 0}]

[[{каталог: 'защиту', дб: '', стол: '', orgTable: '', название: 'результат', OrgName: 'IRES', заполнитель1:, charsetNr: 63, длина: 11, тип: 3, флаги: 0, знаков после запятой: 0, заполнитель2:, по умолчанию не определено, ZEROFILL: ложь, protocol41: истинный}], неопределенные]

Все, что я знаю, говорит мне, что это должно работать.

+0

Видимо, мне нужно было использовать строки [0] [0] .result ... это похоже на ошибку. – DeaconSyre

ответ

0

Хорошо, видимо, мне нужно использовать

rows[0][0].result; 

Я не уверен, почему узловые-MySQL Гнезда хранимые процедуры возвращаются результаты.

+0

Предположительно, это связано с тем, что хранимая процедура MySQL может возвращать несколько наборов результатов, что является очень полезной возможностью, а строки [0] могут быть первыми из «n»; см. последний абзац здесь: http://dev.mysql.com/doc/refman/5.6/en/stored-routines-syntax.html –

Смежные вопросы