Die SQLite.swift documentation for filtered queries diesem Beispiel gibt:korrekte Variablenbindung und die Vermeidung von SQL-Injection mit SQLite.swift fragt
users.filter(email.like("%@mac.com"))
// SELECT * FROM "users" WHERE ("email" LIKE '%@mac.com')
Da ich auf eine Benutzereingabe, die Datenbank basierend suchen wollen, ich denke, ich folgendes tun könnte:
let stringPrefix = userInput + "%"
users.filter(email.like(stringPrefix))
// SELECT * FROM "users" WHERE ("email" LIKE 'johndoe%')
Gehe ich den richtigen Weg? Mit anderen SQLite-Umgebungen in der Vergangenheit habe ich variable binding mit ?
verwendet, um SQL injection zu vermeiden. Wird das hinter den Kulissen mit SQLite.swift gemacht? Ich habe keine Informationen in der Dokumentation gesehen, außer ein wenig über das Binden im Bereich Executing Arbitrary SQL.
Vielleicht ist dies eine separate Frage, aber ich bin mir nicht sicher, welche anderen internen Tests ich machen sollte, wenn die Parameterbindung schon erledigt ist. – Suragch