Pravděpodobně budete muset použít whereRaw()
knex('usr_info')
.whereRaw('login = ? AND password = PASSWORD(?)', [login, password]);
Mimochodem, funkci PASSWORD() MySQL byste neměli používat pro ověřování své vlastní aplikace. Tato funkce byla odstraněna v MySQL 8.0.11. V MySQL 5.7 je to zastaralé a je tam poznámka:
https://dev.mysql.com/doc /refman/5.7/cs/encryption-functions.html#function_password
Kromě toho není dobrý nápad předávat vašemu dotazu heslo ve formátu prostého textu, protože může být v protokolu dotazu přihlášen jako prostý text.
Místo toho vám doporučuji hledat pouze login
ve vašem dotazu, pak bude výsledek zahrnovat hashované heslo uložené ve vaší databázi. Heslo můžete zahašovat v kódu aplikace a porovnat ho s hodnotou hash vrácenou vaším dotazem.