Du skal sandsynligvis bruge whereRaw()
knex('usr_info')
.whereRaw('login = ? AND password = PASSWORD(?)', [login, password]);
I øvrigt bør du ikke bruge MySQL's PASSWORD()-funktion til din egen app-godkendelse. Denne funktion blev fjernet i MySQL 8.0.11. I MySQL 5.7 er det forældet, og der er en note:
https://dev.mysql.com/doc /refman/5.7/da/encryption-functions.html#function_password
Desuden er det ikke en god ide at videregive plaintext-adgangskoden til din forespørgsel, fordi den kan være logget på plaintext i forespørgselsloggen.
I stedet anbefaler jeg, at du kun søger efter login
i din forespørgsel, vil resultatet inkludere den hash-kodede adgangskode, der er gemt i din database. Du kan hash kodeordet i din app-kode og sammenligne det med hash, der returneres af din forespørgsel.