NodeJS – MySQL查询错误
我的查询工作正常,如果人存在于我的表中,但如果他/她没有; NodeJS会给我一个错误。
function ClientConnected(remoteClient) { debugLog(remoteClient.name + " connected to the server. (ID: " + remoteClient.networkId + ") Loading player data.."); sql.query('SELECT * FROM `players` WHERE `character_name` = ?', [remoteClient.name], function(err, rows) { if(err) { debugLog('[DB] Error when loading ' + remoteClient.name + "'s (" + remoteClient.networkId + ') data: ' + err.code); } else { players[remoteClient.networkId] = { 'a_socialid' : rows[0].account_socialid, 'i_money' : rows[0].inventory_money, }; debugLog("Successfully loaded " + remoteClient.name + "'s (" + remoteClient.networkId + ") data.."); } }); } events.Add("ClientConnected", ClientConnected);
如果某人join了表中已经存在的名字,它将加载玩家数据:
但是,如果没有,它给了我一个错误。 (TypeError,undefined,blabla)
你需要检查一个logging是否被返回。 也许这样的事情:
if(err) { debugLog('[DB] Error when loading ' + remoteClient.name + "'s (" + remoteClient.networkId + ') data: ' + err.code); } else if (rows.length === 0) { debugLog('Nothing returned from database'); } else { // ... }
据推测, err
结果只会给你实际查询的反馈,而不是它返回的数据。