Use prepared statement
This commit is contained in:
@ -8,6 +8,7 @@ import (
|
||||
"context"
|
||||
"database/sql"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
"log"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"os"
|
||||
@ -69,6 +70,11 @@ func openDb() (*sql.DB, error) {
|
||||
if err == nil {
|
||||
err = db.Ping()
|
||||
}
|
||||
_, err = db.Exec("PRAGMA foreign_keys = ON")
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to enable foreign key constraints: %v", err)
|
||||
}
|
||||
|
||||
return db, err
|
||||
}
|
||||
|
||||
|
@ -20,10 +20,14 @@ func (e *ElectionModel) Insert(name string, tokens int, areVotersKnown bool, max
|
||||
}
|
||||
defer tx.Rollback()
|
||||
|
||||
result, err := tx.Exec(`
|
||||
INSERT INTO elections (name, tokens, are_voters_known, max_voters, expires_at)
|
||||
VALUES (?, ?, ?, ?, ?)`,
|
||||
name, tokens, areVotersKnown, maxVoters, expiresAt)
|
||||
stmt, err := tx.Prepare(`
|
||||
INSERT INTO elections (name, tokens, are_voters_known, max_voters, expires_at)
|
||||
VALUES (?, ?, ?, ?, ?)`)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
result, err := stmt.Exec(name, tokens, areVotersKnown, maxVoters, expiresAt)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
@ -33,7 +37,7 @@ func (e *ElectionModel) Insert(name string, tokens int, areVotersKnown bool, max
|
||||
return 0, err
|
||||
}
|
||||
|
||||
stmt, err := tx.Prepare(`
|
||||
stmt, err = tx.Prepare(`
|
||||
INSERT INTO choices (text, election_id)
|
||||
VALUES (?, ?)`)
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user