Не выполняет динамический запрос mysql в nodejs

#mysql #sql #node.js

Вопрос:

Я пытаюсь выполнить динамический запрос, необходимый для api, написанного с использованием nodejs в качестве языка сервера и mysql в качестве базы данных. Запрос, который я написал, является динамическим запросом, и запрос использовал ОБЪЕДИНЕНИЕ для объединения двух запросов. По какой-то причине это не требует секундных условий.где в sql-запросе и выдайте приведенное ниже сообщение об ошибке.

 "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?) AND r.ReviewRating IN (?) AND r.Title IS NOT NULL AND r.DateCreated BETWEEN (' at line 1"  

Ниже приведена функция в моем модальном классе.:

 getReviewsAndPhotoReportBySellerId: (sellerId, reviewRating, title, photoAvailable, dateFrom, dateTo, callback) =gt; {  //Dynamic Query Generation based on user input  function buildConditions() {  var conditions = [];  var values = [];   if (typeof sellerId !== 'undefined') {  conditions.push("r.SellerId IN (?)");  values.push(sellerId);  }    if (typeof reviewRating !== 'undefined') {  conditions.push("r.ReviewRating IN (?)");  values.push(reviewRating);  }    if(title == "has comment"){  conditions.push("r.Title IS NOT NULL");  }else if(title == "no comment"){  conditions.push("r.Title IS NULL");  }   if(photoAvailable == 1){  conditions.push("rp.ReviewImageUrl1 IS NOT NULL || rp.ReviewImageUrl2 IS NOT NULL || rp.ReviewImageUrl3 IS NOT NULL");  }else if(photoAvailable == 'undefined'){  conditions.push("rp.ReviewImageUrl1 IS NULL amp;amp; rp.ReviewImageUrl2 IS NULL amp;amp; rp.ReviewImageUrl3 IS NULL");  }   if(typeof dateFrom !== 'undefined' amp;amp; typeof dateTo !== 'undefined' ){  conditions.push("r.DateCreated BETWEEN (?) AND (?) ");  values.push(dateFrom);  values.push(dateTo);  }   return {  where: conditions.length ?  conditions.join(' AND ') : '1',  values: values  };  }    var conditions = buildConditions();   var sql =   '(select *, r.ReviewId AS ActualReviewId, r.DateCreated AS ActualDateCreated from review r LEFT join reviewphoto rp ON r.ReviewId = rp.ReviewId WHERE '     conditions.where     ') UNION '     '(select *, r.ReviewId AS ActualReviewId, r.DateCreated AS ActualDateCreated from review r RIGHT join reviewphoto rp ON r.ReviewId = rp.ReviewId WHERE '     conditions.where     ') ORDER BY ActualDateCreated DESC ';   console.log(sql);  pool.query(sql, conditions.values, (error, results, fields) =gt; {  if (error) {  callback(error);  }  return callback(null, results);  }  );  },  

Комментарии:

1. Может кто-нибудь, пожалуйста, ответить на этот вопрос или посмотреть на него. Я жду этого, так как это могло бы исправить мои долгие дни усилий. Я знаю, что это очень незначительное исправление, которого мне не хватает в заявлении mysql, но я не знаю, где это исправление.

2. Есть какие-нибудь новости здесь от кого-нибудь, пожалуйста ?