在Swift中,我正在连接到sqlite数据库,并希望运行select语句:

sqlite3_prepare_v2(db, "select OneWord from words where OneWord='?' and definition='';", -1, &statement, nil) // Returns SQLITE_OK


但是当我尝试绑定变量时:

sqlite3_bind_text(statement, 1, "Hello", -1, nil)


它告诉我:
Query prepare error: column index out of range

与INSERT语句一起使用时效果很好。我究竟做错了什么 ?

最佳答案

最可能的原因是问号附近的引号,将查询字符串更改为

"select OneWord from words where OneWord = ? and definition = '';"


用引号查询OneWord等于“?”的行

07-24 09:25