diff options
Diffstat (limited to 'src/database.rs')
-rw-r--r-- | src/database.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/database.rs b/src/database.rs index 5b41db7..8c26844 100644 --- a/src/database.rs +++ b/src/database.rs @@ -134,10 +134,10 @@ impl Database { } pub fn get_user(&self, id: usize) -> Option<User> { - let query = format!("SELECT * FROM users WHERE id IS '{}'", id); - let statement = self.db.prepare(query).unwrap(); + let query = "SELECT * FROM users WHERE id IS :id"; + let statement = self.db.prepare(query).unwrap().into_iter().bind::<&[(_, sqlite::Value)]>(&[(":id", (id as i64).into())]).unwrap(); - for row in statement.into_iter().map(|row| row.unwrap()) { + for row in statement.map(|row| row.unwrap()) { let username = row.read::<&str, _>("username"); let id = row.read::<i64, _>("id"); @@ -150,8 +150,8 @@ impl Database { None } pub fn get_user_by_name(&self, name: String) -> Option<User> { - let query = "SELECT * FROM users WHERE name IS :name"; - let statement = self.db.prepare(query).unwrap().into_iter().bind((":name", name.as_str())).unwrap(); + let query = "SELECT * FROM users WHERE username IS :name"; + let statement = self.db.prepare(query).unwrap().into_iter().bind::<&[(_, sqlite::Value)]>(&[(":name", name.into())]).unwrap(); for row in statement.map(|row| row.unwrap()) { let username = row.read::<&str, _>("username"); |