0

我创建了一个用于累积奖金的网站(我没有购买,它被泄露了)。一切顺利,没有一个错误。我无法解决它。我需要帮助。我用谷歌搜索了它,但没有解决方案。

当我启动机器人时,没有问题。发送交易后,我收到此错误:

if(offer.items_to_receive.length > row[0].value) 
                                       ^
TypeError: Cannot read property '0' of undefined

这是完整的代码: http: //pastie.org/10832102#489-492

此链接会将您导航到有问题的行。我对php和mysql有所了解。我认为存在这个问题是因为机器人无法读取数据库中的这一行。但我该怎么做呢?需要一个例子。

4

1 回答 1

1

You are trying to get information from database and in case of error mysqlConnection.query will callback with err. You should check err before operating with the result. For example, you can set default value for maxitems variable in case of error:

mysqlConnection.query('SELECT `value` FROM `info` WHERE `name`=\'maxitems\'', function(err, row, fields) {
            var maxitems = 10;
            if(err || row.length == 0) {
            console.log('Mysql error or empty result:', err);                  
            } 
            else {
            maxitems = row[0].value;
            }  

            if(offer.items_to_receive.length > maxitems) {
            .....   
            }
});
于 2016-05-11T05:08:36.600 回答