I'm using SQLlite3 for my database and i'm trying use "select * table where * = ?" in Swift with Sqlite3 but I'm stuck using where here's the method I used but i get no response from the methode .
func DoesExist(titles: String?){
ArticleList.removeAll()
let queryStrings = "SELECT * FROM articles WHERE title = ? "
var stmt3:OpaquePointer?
if sqlite3_prepare(db, queryStrings, -1, &stmt3, nil) != SQLITE_OK{
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("error preparing Select: \(errmsg)")
return
}
if sqlite3_bind_text(stmt3, 1, titles, -1, nil) != SQLITE_OK{
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("failure binding title: \(errmsg)")
return
}
while(sqlite3_step(stmt3) == SQLITE_ROW){
let id = sqlite3_column_int(stmt3, 0)
let author = String(cString: sqlite3_column_text(stmt3, 1))
let title = sqlite3_column_int(stmt3, 2)
//adding values to list
ArticleList.append(Article(id: Int(id), author: String(describing: author), title: String(describing: title)))
print(ArticleList.count)
}
}
i don't know if that helps but when i try printing sqlite3_step(stmt3) i get 101 I don't get what I did wrong so if anyone is familiar with this error help, please?
*****UPDATE*****
i added
if sqlite3_step(stmt3) != SQLITE_DONE {
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("failure inserting foo: \(errmsg)")
}
print("---------------------\(sqlite3_step(stmt3))")
and istead of getting 101 i got 21 which means : out of memory