Comando do PHP (Personal Home Page) “adiciona um parâmetro a um procedimento armazenado local ou remoto quando utilizado com o Microsoft SQL Server”. A afirmativa se refere a:
- A)mssql_init
Errada, porque mssql_init prepara/inicia a chamada do procedimento armazenado, mas não adiciona parâmetro.
- B)mssql_bind
Certa, porque mssql_bind é a função usada para vincular ou adicionar um parâmetro a um procedimento armazenado.
- C)mssql_execute
Errada, porque mssql_execute executa o procedimento já preparado, não faz o vínculo de parâmetros.
- D)mssql_fetch_row
Errada, porque mssql_fetch_row serve para ler uma linha do resultado, e não para configurar parâmetros.
Gabarito: B
Quando a questão fala em comando do PHP que “adiciona um parâmetro a um procedimento armazenado local ou remoto quando utilizado com o Microsoft SQL Server”, ela está descrevendo a função usada para vincular valores aos parâmetros de uma stored procedure antes da execução. Em outras palavras: primeiro você prepara o procedimento, depois “amarra” os parâmetros, e só então executa. É a lógica clássica de chamadas parametrizadas, que evita gambiarra e deixa a consulta mais organizada. No pacote antigo de funções mssql do PHP, isso é feito com mssql_bind, que serve justamente para associar um valor a um parâmetro de um procedimento armazenado. A palavra-chave aqui é bind, de “ligar/associar”. Se a questão fala em adicionar parâmetro ao procedimento, é isso que ela quer. Já mssql_init é usado para iniciar/preparar a chamada do procedimento armazenado, mssql_execute é o comando que efetivamente executa a procedure, e mssql_fetch_row serve para buscar linhas do resultado. Então a banca misturou preparação, execução e leitura de resultados para ver se você reconhece a função específica de parametrização. Observação importante: essa família de funções mssql é antiga e foi descontinuada no PHP moderno, mas em prova de concurso o foco costuma ser o conceito cobrado pela documentação clássica da extensão. Por isso, o gabarito B faz todo sentido.