Está en la página 1de 5

Como configurar PHP para acceder a

bases de datos SQL Server


Publicado en 10 Abr 2018 el 5:32 am.
Escrito por Oscar Huanca
Si realizamos las configuraciones usuales nos saldrá un error de PHP con SQL
“Conexión no se pudo establecer con el SQL Server.” es la comunicación por
primera vez, sigue éstos pasos para realizar correctamente una conexión desde
PHP hacia una base de datos SQL Server.
Para ésta prueba se utilizó:
 PHP Version 5.6.23
 Apache 2.4.17
 XAMPP Control Panel Version 3.2.2
Se requiere los dos archivos de librerías, dependiendo de la versión de tu PHP,
para mi caso:
 Descargar SQLSRV32.exe (copiar: php_sqlsrv_56_ts.dll, php_pdo_sqlsrv_56_ts.dll)
en la ruta: C:\XAMPP\PHP\EXT\
 Otro dato importante es instalar  SQL Server ODBC Driver 11 for SQL Server,
según versión 32bit o 64bit de S.O. Windows (Actualizado: Febrero 2017)
Pasos
1. Parar el servicio Apache en “xampp-control”,
2. Editar el archivo “php.ini”,
Abrir archivo php.ini desde la configuracion de XAMPP
3. Descomentar o agregar las lineas en el módulo extensiones dinámicas:
Lineas de configuración de php.ini para sql server
4. Reiniciar Apache y verificar que la extensión haya sido reconocida:

Extensión visible desde phpinfo()

También tiene su propia sección pdo_sqlserver


Código de Ejemplo
1. <?php
//serverName\instanceName, portNumber (por defecto es 1433)
$serverName = "192.168.1.2\\MSSQLSERVER, 1433";

$connectionInfo = array( "Database"=>"BaseDatosPrueba", "UID"=>"sa", "PWD"=>"123456");


$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
echo "Conexión establecida.<br />";
}else{
echo "Conexión no se pudo establecer.<br />";
die( print_r( sqlsrv_errors(), true));
}

$query = "SELECT * FROM tableTest";


$res = sqlsrv_query($conn, $query, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET ));
if (0 !== sqlsrv_num_rows($res)){
while ($fila = sqlsrv_fetch_array($res)) {
echo "Personal: ".utf8_encode($fila['nombres'])." "
.utf8_encode($fila['ap_pat'])." "
.utf8_encode($fila['ap_mat']);
echo "<br>";
}
}
?>

 
Tengo que  aclarar deberán usar su propia configuración para conectarse como
el número de  IP, el usuario y la contraseña de SQL Server. Además para éste
caso solamente la base de datos “BaseDatosPrueba”, contiene una tabla
“TableTest” con los campos “nombres(varchar), ap_pat (varchar), ap_mat
(varchar)”, llenar algunos registros para su prueba.
Recomendaciones:
En caso de que la versión de PHP es diferente, por ejemplo la versión 5.5 ->
necesitarías cambiar el nombre al que invocas en el PHP.INI y obviamente los
archivos en la carpeta correspondiente: php_sqlsrv_55_ts.dll,
php_pdo_sqlsrv_55_ts.dll, puedes encontrar mayor información en el MSDN de
Microsoft, referencias al pie del artículo.

También podría gustarte