Preparar y ejecutar consultas con SQL Server driver para PHP

Los que acostumbramos a utilizar MySQL no estamos familiarizados con esta sintaxis de preparar y ejecutar consultas que tiene el driver de Microsoft para PHP.

php-logo

En este post intento mostrar cómo usar el driver de SQL Server para PHP para ejecutar una instrucción preparada varias veces. Esto es mediante la combinación de sqlsrv_prepare y sqlsrv_execute, y el resultado es una instrucción que se compila una vez en el servidor y se puede ejecutar después varias veces con distintos valores de parámetro. En el caso de consultas únicas, se recomienda el uso de sqlsrv_query que es a lo que estamos acostumbrados en MySQL.

Al preparar una instrucción que usa variables como parámetros, las variables se enlazan a la instrucción. Eso significa que si se actualizan los valores de las variables, la próxima vez que se ejecute la instrucción se ejecutará con los valores de parámetros actualizados.

En el siguiente enlace tenemos un ejemplo de cómo utilizar estas funciones para ejecutar una consulta varias veces pero solo prepararla una vez (la función sqlsrv_query realiza estas dos acciones cada vez que es llamada)

Otra curiosidad fundamental de SQL Server es llamar desde PHP a un procedimiento almacenado de SQL Server, para ello podemos utilizar la siguiente sintaxis:

$params = array($i, $s, $a);
$sql = "{call UpdateOrInsertSession(?,?,?)}";
$stmt = sqlsrv_query($this->_conn, $sql, $params);

Para ver un ejemplo podemos consultar el siguiente enlace del blog del controlador de SQL Server para PHP.

Comentarios

Anónimo ha dicho que…
hola, una consulta y si mi procedimiento no tiene variables de entrada que valor le paso en parametro o como es??