Javascript WHERE子句中的多列

Javascript WHERE子句中的多列,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,我试图创建一个url查询字符串,在其中输入一个参数,它会在我的MySQL数据库(从irc通道存储的引号)中搜索一个随机引号,每次输入一个变量,但很难让它使用我使用的查询搜索多个列。我希望它在表中搜索的两个字段是“title”和“quote”。有更好的方法吗?现在我只是让它进入一个页面,确认输出,以供测试之用。下面的代码可以很好地工作,就像只搜索“title”或“quote”字段一样 app.get("/api", function(req, res){ var search = "%"

我试图创建一个url查询字符串,在其中输入一个参数,它会在我的MySQL数据库(从irc通道存储的引号)中搜索一个随机引号,每次输入一个变量,但很难让它使用我使用的查询搜索多个列。我希望它在表中搜索的两个字段是“title”和“quote”。有更好的方法吗?现在我只是让它进入一个页面,确认输出,以供测试之用。下面的代码可以很好地工作,就像只搜索“title”或“quote”字段一样

app.get("/api", function(req, res){

    var search = "%" + req.query.search + "%";
    var queryString = "SELECT * FROM quotes WHERE title LIKE ? ORDER BY RAND() LIMIT 1";
    var queryString =  mysql.format(queryString, search);
    mysqlPool.getConnection(function(err, connection) {
        if(err) throw err;
        connection.query(queryString, function(err, rows, fields){
            if (!err){
                res.send('<xmp>' + JSON.stringify(rows[0], null, 2) + '</xmp>');
                connection.release();
            } else {
                console.log('Error while performing Query.');
                connnection.release();
            }
        });
    });
});
此处仅搜索“title”以获取想法的输出示例:

{
  "id": 3947,
  "nick": "o_O",
  "host": "o_O``!~o_O@*.ma.cable.rcn.com",
  "title": "gix.flesh.eating.bacteria",
  "quote": "<gix> omg my face is like 10lbs lighter",
  "channel": "#motorcycles",
  "timestamp": 1205791192
}
{
“id”:3947,
“尼克”:“哦”,
“主机”:“o_o``!~o_o@*.ma.cable.rcn.com”,
“标题”:“gix.肉.食.菌”,
“引用”:“天哪,我的脸轻了10磅”,
“频道”:“摩托车”,
“时间戳”:1205791192
}

你不能像那样使用
这样,试试这个;)


你不能像那样使用
试试这个;)

WHERE子句中的每个条件都必须为真。您正在检查标题报价。 如果在中满足条件A,则退出并不检查第二个条件。 你可以像这样检查它:

WHERE
    (
     title like ? 
       and 
       quote like?
    OR
     (
        (title or quote) like ?
      )
    )
这就像

  • 标题包含什么?报价包含哪些内容

    是:返回行 否:GoTo2。内部()

  • 这两个字段中是否有一个包含该值
  • 是:返回行 否:不返回行

    希望这能让事情明朗一点

    致以最良好的祝愿

    Georg

    WHERE子句中的每个条件都必须为真。您正在检查标题报价。 如果在中满足条件A,则退出并不检查第二个条件。 你可以像这样检查它:

    WHERE
        (
         title like ? 
           and 
           quote like?
        OR
         (
            (title or quote) like ?
          )
        )
    
    这就像

  • 标题包含什么?报价包含哪些内容

    是:返回行 否:GoTo2。内部()

  • 这两个字段中是否有一个包含该值
  • 是:返回行 否:不返回行

    希望这能让事情明朗一点

    致以最良好的祝愿

    格奥尔格

    WHERE
        (
         title like ? 
           and 
           quote like?
        OR
         (
            (title or quote) like ?
          )
        )