express.js problem z dwoma parametrami w get

0

Witam, mam problem z przekazaniem do zapytania sql dwóch parametrów. A mianowicie wyskakuje error:
Error: ER_PARSE_ERROR: 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 ' ilosc_osob_max
= '8'' at line 1

mój kod:

app.get('/api/oferty/wyszukiwarka/:kraj/:iloscOsob', (req, res) => {
    let get = {kraj: req.params.kraj, ilosc_osob_max: req.params.iloscOsob}
    let sql = 'SELECT * FROM oferty WHERE  ?';
    
    db.query(sql, get, function (err, wynik) {
        if(err){
            throw(err);
        }
        res.send(wynik);
        //console.log(dane);
        
    }); 

});

pastebin: https://pastebin.com/HsFSFk1H

cały error: https://pastebin.com/gqYYYDGp

Naprowadzi mnie ktoś, jak zrobić poprawny zapis? z jednym parametrem nie ma problemu z wczytaniem. Dzięki wielkie za pomoc.

1

Nie powiedziałeś z jakiej paczki korzystasz do obsługi bazy, ale zakładam, że to jest zwykły mysql (https://github.com/mysqljs/mysql#performing-queries)

const get = [req.params.kraj, req.params.iloscOsob];
const sql = 'SELECT * FROM oferty WHERE  kraj = ? AND iloscOsob = ?';

db.query(sql, get, function (err, wynik) {
  // tutaj dalsza część kodu
}); 

Jeśli chodzi o taki podstawowy przykład to spróbuj zamienić zmienną get na tablicę, oraz rozbudować warunek w WHERE żeby było wiadomo z jakich kolumn chcesz korzystać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1