PHP SQLSRV: работает ли sqlsrv_query (), чтобы подготовить оператор select, правильно?

TL: DR

Выполняет ли sqlsrv_query() одно и то же задание для операторов select чем sqlsrv_prepare() и sqlsrv_execute() , в отношении подготовленных операторов?

Как я могу сделать предложение безопасного select ?

Немного истории

Я новичок в разработке PHP, и у меня есть старое (не OO) PHP-приложение для поддержки и реорганизации всех этих кодов спагетти. Фактически, я создал репозиторий и абстракцию службы, чтобы немного помещать Ориентацию объектов внутри проекта в разделенную область, не вникая в то, что работает в наши дни.

Я сделал эту абстракцию, учитывая будущее включение PDO. Сегодня я просто реорганизую код по шагам. Доктрина и другие ОРМ сегодня не являются опцией (решение Менеджера проекта, к сожалению … не моя ошибка).

Ну, мы используем здесь драйвер sqlsrv , и я видел, как подготовить и выполнить инструкцию для операций insert или update . Возникает вопрос: как я мог подготовить инструкцию select для выполнения (помогая предотвратить атаки с sqlsrv_prepare() первого порядка), аналогично я использую sqlsrv_prepare() и sqlsrv_execute() ?

Конфигурации: PHP 5.3, Sql Server.

Заранее спасибо!

Они разные.

http://php.net/manual/en/function.sqlsrv-prepare.php

Готовит запрос для выполнения

http://php.net/manual/en/function.sqlsrv-query.php

Подготавливает и выполняет запрос .

В подготовленных операторах вы отправляете запрос и параметры отдельно. Таким образом, вам нужны два отдельных вызова (с sqlsrv_execute, обеспечивающим другой конец этого дуэта).

sqlsrv_query() просто отправляет SQL для немедленного выполнения. Он НЕ поддерживает подготовленные заявления, поэтому вам нужно будет дезинфицировать данные, включенные в строку.