socket.io mysql 两个and子句

socket.io mysql two and clauses

我正在使用 socket.io 和 node-mysql module.kindly 帮助编辑代码。我该怎么做?

socket.on('join',function(data){
var srecord = {m_from: data.usid, m_to:data.tid};
dbconn.query('SELECT m_from,m_text FROM messages WHERE (m_from = ? AND m_to = ?) OR (m_to = ? AND m_from = ?)',[data.usid,data.tid],function(err, records){
            if(err) throw err;
            socket.emit('output',records);});
             });

如果执行,它会显示错误:请查看与您的数据库服务器对应的手册,了解在 '? 附近使用的正确语法。 AND m_from=?)'

我很头疼之后自己做了...解决方案很简单...占位符的数量不等于参数的数量...所以我 re-added 相同的参数再次..像这样:

dbconn.query('SELECT m_from,m_text FROM messages WHERE (m_from=? AND m_to=?) OR (m_to=? AND m_from=?)',[data.usid,data.tid,data.usid,data.tid]

希望对sum1有所帮助!! :)