我试图更新我的数据库模型以避免注入攻击。我对一些关于如何应用数据绑定的疑问感到困惑。
例如,这里有一个这样的查询:
FMResultSet *results = [db executeQuery:@"SELECT ifnull(FirstName,'') ||' '|| ifnull(LastName,'') FROM Contacts Where PK = ? ",pk];
我是否需要在ifnull()中绑定第二个null参数,即使我没有传递任何参数?
这是一种安全的方式,或者我应该这样做:
FMResultSet *results = [db executeQuery:@"SELECT ifnull(FirstName, ?) ||' '|| ifnull(LastName,?) FROM HHCContacts Where PK = ? ",@"",@"",pk];