Это SQL-инъекция безопасна из-за подготовленного оператора. Но имейте в виду, что повторение этих переменных в вашем браузере может вызвать проблемы XSS. Лучше всего всегда следить за тем, чтобы ваш пользовательский ввод был чистым, обычно достаточно htmlspecialchars для вывода, лучше, когда вы очищаете свой пользовательский ввод перед отправкой его в свою базу данных.
Обновление для быстрого 5
Последовательная Очередь
let serialQueue = DispatchQueue.init(label: "serialQueue")
serialQueue.async {
// code to execute
}
Параллельная Очередь
let concurrentQueue = DispatchQueue.init(label: "concurrentQueue", qos: .background, attributes: .concurrent, autoreleaseFrequency: .inherit, target: nil)
concurrentQueue.async {
// code to execute
}
От документация Apple :
Параметры
маркируют
A строковую маркировку для присоединения к очереди для однозначного определения его в средствах отладки, таких как Инструменты, образец, stackshots, и отчеты о катастрофическом отказе. Поскольку приложения, библиотеки и платформы могут все создать свои собственные очереди отправки, стиль именования обратного DNS (com.example.myqueue) рекомендуется. Этот параметр является дополнительным и может быть ПУСТЫМ.
qos
уровень качества обслуживания для соединения с очередью. Это значение определяет приоритет, в котором система планирует задачи для выполнения. Для списка возможных значений см. DispatchQoS.QoSClass.
атрибуты
атрибуты для соединения с очередью. Включайте параллельный атрибут для создания очереди отправки, которая выполняет задачи одновременно. Если Вы опускаете тот атрибут, очередь отправки выполняет задачи последовательно.
autoreleaseFrequency
частота, с которой можно автовыпустить объекты, созданные блоками, которые планирует очередь. Для списка возможных значений см. DispatchQueue. AutoreleaseFrequency.
цель
целевая очередь, на которой можно выполнить блоки. Укажите DISPATCH_TARGET_QUEUE_DEFAULT, если Вы хотите, чтобы система предоставила очереди, которая подходит для текущего объекта.