我正在TCP聊天服务器和SQL Server之间编写一种接口,并且在处理用户提交值的部分时,并使用此值为此DB中的行分配一个命名。当使用来自telnet shell的值查询此DB时,我无法从DB获得任何结果。但是当我在adminer / MySQL @ BASH等中执行相同的查询时,我可以... 我的想法是它已经归结为编码问题。对于节点而言相当无趣,我真的不知道该怎么做。我对JavaScript有很好的体验,而不是节点。
代码
function setCliNameOrKick(client, key){
key = String(key).replace(/\n\r\b\\\s/gi, "");
var q = "SELECT username FROM webusers WHERE lic = \'"+String(key).toString()+"\'; --";
console.log(key);
query(q);
cli.query(q, function cb(e, r, f){
if(client != null){
console.log(r);
if(r.length >= 1){
client.name = r['username'];
}else{
client.stream.end();
}
}else{
console.log("Was Passed A Null Client!");
}
});
}
来自数据库查询工具 它接收客户端在连接时发送的字符串的输入,以及表示客户端的对象
stream.addListener("data", function(data){
if(client.name == null){
data = String(data).replace(new RegExp("[\n]+", "g"), "");
cNameBuff = cNameBuff + data;
if(cNameBuff.length > 1){ //Min Length
//client.name = cNameB;
db.set(client, cNameBuff);
onAuth(client);
}
return;
}
data = String(data);
if(data.length >= 2){
srv.procChat(client, data);
}
});