Запрос FMDB не действует с LIKE

Я использую FMDB, который является оболочкой для SQLite. http://github.com/ccgus/fmdb

Вот моя строка запроса:

FMResultSet *athlete = [db executeQuery:@"SELECT * FROM athletes WHERE athlete_name LIKE ?", search_text];

Используя это, я могу вернуть результат, если я нахожу точное имя спортсмена. Но, я пытаюсь использовать LIKE, чтобы я мог искать по названию. Но, когда я вместо% вместо%?... ничего не возвращается. И ошибок нет.

Кто-нибудь сталкивался с этим раньше и знал, что я делаю неправильно?

Спасибо всем!

Ответ 1

Подстановочные знаки (%) должны быть частью замещенной переменной, а не строки запроса:

FMResultSet *rs = [db executeQuery:@"SELECT * FROM athletes WHERE athlete_name LIKE ?",
                  [NSString stringWithFormat:@"%%%@%%", search_text]];