U moet waarschijnlijk whereRaw() gebruiken
knex('usr_info')
.whereRaw('login = ? AND password = PASSWORD(?)', [login, password]);
Trouwens, je moet de PASSWORD()-functie van MySQL niet gebruiken voor je eigen app-authenticatie. Deze functie is verwijderd in MySQL 8.0.11. In MySQL 5.7 is het verouderd, en er is een opmerking:
https://dev.mysql.com/doc /refman/5.7/en/encryption-functions.html#function_password
Bovendien is het geen goed idee om het wachtwoord in leesbare tekst aan uw zoekopdracht door te geven, omdat het in leesbare tekst in het zoeklogboek kan worden vastgelegd.
In plaats daarvan raad ik u aan alleen te zoeken naar login
in uw zoekopdracht, dan bevat het resultaat het gehashte wachtwoord dat in uw database is opgeslagen. U kunt het wachtwoord in uw app-code hashen en het vergelijken met de hash die door uw zoekopdracht is geretourneerd.