Wahrscheinlich müssen Sie whereRaw() verwenden
knex('usr_info')
.whereRaw('login = ? AND password = PASSWORD(?)', [login, password]);
Übrigens sollten Sie die PASSWORD()-Funktion von MySQL nicht für Ihre eigene App-Authentifizierung verwenden. Diese Funktion wurde in MySQL 8.0.11 entfernt. In MySQL 5.7 ist es veraltet, und es gibt einen Hinweis:
https://dev.mysql.com/doc /refman/5.7/en/encryption-functions.html#function_password
Außerdem ist es keine gute Idee, das Klartext-Passwort an Ihre Abfrage weiterzugeben, da es möglicherweise im Klartext im Abfrageprotokoll protokolliert wird.
Stattdessen empfehle ich Ihnen, nur nach login
zu suchen in Ihrer Abfrage, dann enthält das Ergebnis das in Ihrer Datenbank gespeicherte gehashte Passwort. Sie können das Passwort in Ihrem App-Code hashen und mit dem von Ihrer Abfrage zurückgegebenen Hash vergleichen.