Использование PDO и MYSQLi является хорошей практикой для предотвращения инъекций SQL, но если вы действительно хотите работать с функциями и запросами MySQL, было бы лучше использовать
$unsafe_variable = mysql_real_escape_string($_POST['user_input']);
Есть больше возможностей для предотвращения этого: например, идентификация - если ввод представляет собой строку, число, символ или массив, есть так много встроенных функций для обнаружения этого. Кроме того, было бы лучше использовать эти функции для проверки входных данных.
$unsafe_variable = (is_string($_POST['user_input']) ? $_POST['user_input'] : '');
$unsafe_variable = (is_numeric($_POST['user_input']) ? $_POST['user_input'] : '');
И гораздо лучше использовать эти функции для проверки входных данных с помощью mysql_real_escape_string
.
Попытка это (использование Системы. Linq):
OfType()
дополнительный метод, таким образом, необходимо использовать System.Linq
List<string> selectedFields = new List<string>();
selectedFields.AddRange(chkDFMFieldList.CheckedItems.OfType<string>());
Или просто сделать это в одной строке:
List<string> selectedFields = chkDFMFieldList.CheckedItems.OfType<string>().ToList();
Если у Вас нет доступа к LINQ тогда нет более изящного пути, так как Вы выполняете вторую операцию на элементах списка (звонящий ToString()
) в дополнение к заполнению selectedFields набора.