Вам, вероятно, нужно использовать whereRaw ()
knex('usr_info')
.whereRaw('login = ? AND password = PASSWORD(?)', [login, password]);
Кстати, вы не должны использовать функцию MySQL PASSWORD () для аутентификации вашего собственного приложения. Эта функция была удалена в MySQL 8.0.11. В MySQL 5.7 это устарело, и есть примечание:
https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_password
PASSWORD () используется системой аутентификации в MySQL Server;Вы не должны использовать его в своих собственных приложениях. Для этого рассмотрим более безопасную функцию, такую как SHA2 ().
Кроме того, не рекомендуется передавать пароль в виде открытого текста в запрос, поскольку он может быть зарегистрирован в виде открытого текста вжурнал запросов.
Вместо этого я рекомендую вам искать только login
в вашем запросе, тогда результат будет включать хешированный пароль, хранящийся в вашей базе данных. Вы можете хешировать пароль в коде своего приложения и сравнить его с хешем, возвращенным по вашему запросу.