Я пытаюсь создать строку запроса url, где вы вводите параметр, и он ищет мою базу данных MySQL (сохраненные кавычки из канала irc) для одной случайной цитаты с переменной, введенной в LIKE, при но не имея проблем с поиском более одного столбца с запросом, который я использую. Два поля в таблице, которую я хочу найти, это «title» и «quote». Есть ли лучший способ сделать это? Прямо сейчас, я просто перейду на страницу, чтобы подтвердить вывод для тестирования. Приведенный ниже код отлично работает, как если бы вы просто искали поле «title» или «quote».Несколько столбцов в выражении WHERE
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();
}
});
});
});
Я попытался сделать это ниже, но, очевидно, не работает:
var queryString = "SELECT * FROM quotes WHERE (title OR quote) LIKE ? ORDER BY RAND() LIMIT 1";
пример вывода с помощью только «название» искали здесь только, чтобы получить представление о том:
{
"id": 3947,
"nick": "o_O",
"host": "o_O``[email protected]*.ma.cable.rcn.com",
"title": "gix.flesh.eating.bacteria",
"quote": "<gix> omg my face is like 10lbs lighter",
"channel": "#motorcycles",
"timestamp": 1205791192
}