Нечестно сказать, что подготовленные операторы приводят к тому, что 1 строка кода взрывается до 6. На самом деле, чтобы использовать одну, вам нужно всего 2 строки: одна для подготовки оператора и одна для привязки параметров.Любой другой код, который вы пишете (выполнить запрос, связать результаты, получить результаты и т. Д.), Также будет необходим, даже если вы не используете подготовленные операторы.
Итак, по сути, мы говорим о том, что один дополнительная строка кода покупает вас.Он покупает две вещи:
- Защита от SQL-инъекций (которая также включает защиту от несанкционированных некорректных запросов, например, предотвращение прерывания запроса, если введенная переменная содержит одну кавычку)
- Возможные выигрыши в производительности, если вы в конечном итоге выполните один и тот же подготовленный оператор для различных введенных значений.
Точка # 2 может не всегда применяться, но учтите, что точка # 1 также спасает вас от необходимость вручную экранировать значения, которые будут введены в ваш запрос.Это будет дополнительный код (даже если вы можете сделать это встроенным в той же строке), который вам потребуется написать самостоятельно, если вы не используете подготовленные операторы.
Как я вижу, мы можем сделать вывод, что с подготовленными операторами выв конечном итоге получить безопасность и, возможно, производительность бесплатно .