Saltar al contenido

Conectar PHP con SQL Server

Conexión-PHP-con-SQL-Server

Conectar PHP con SQL Server es un paso fundamental para interactuar con bases de datos en aplicaciones web, hoy te mostrare en este artículo como configurar una conexión entre PHP y SQL Server y verificar que este realizada correctamente.

Descargar drivers SQL Server – PHP

Para este caso damos por hecho que ya tienes instalado tu servidor xampp, si aun no lo tienes instalado y configurado da click aquí para saber como hacerlo.

Si ya lo tienes instalado lo primero que haremos será descargar los drivers de SQL Server en la pagina de Microsoft o directamente desde este link.

Archivos descargados

Nos descarga un archivo ZIP que en mi caso se llama SQLSRV511.ZIP en tu caso puede tener un nombre distinto, lo descomprimimos y entramos en la carpeta.

¿Por qué tienen ese nombre las extensiones?

la nomenclatura de las extensiones es la siguiente:

php_sqlsrv_81_nts_x64

php_pdo_sqlsrv_81_ts_x64

Nombre lenguaje / tipo de conexión / versión lenguaje / seguridad multihilo / arquitectura

  • php : Lenguaje para el cual esta hecha la extensión.
  • php_pdo_sqlsrv: Indica que se trata de la extensión para manipular datos mediante PDO.
  • sqlsrv: Indica que se trata de una extensión nativa para SQL Server,
  • 81: Hace referencia a la versión del lenguaje. En este caso corresponde a la versión 8.1
  • nts: Significa que es una extensión Non-Thread Safe
  • ts: Significa que es una extensión Thread Safe
  • x64: Indica que la extensión está compilada para sistemas de 64 bits


Mas adelante te mostrare como averiguar todas las características necesarias para saber que extensión utilizar.

Descargar e instalar ODBC Driver for SQL Server

Descárgalo de la página oficial de Microsoft


Entra a la página oficial, selecciona tu versión de SQL Server

Después de elegir tu versión de SQL Server, sobre el mismo menú izquierdo selecciona ODBC->Download, después elige el instalador ya sea x64 o x86 dependiendo de tu equipo, descárgalo e instálalo.

Recuerda que no en todos los casos es necesario instalarlo, a veces se puede conectar PHP con SQL Server sin necesidad de instalar el ODBC pero te recomiendo hacerlo para evitar problemas de conexión en el futuro.

Pasando los archivos a la carpeta de extensiones de php

Uva vez que ya descargaste las extensiones de SQL Server y las descomprimiste vamos a copiar todos los archivos que hay ahí dentro y los vamos a pegar en la carpeta de extensiones de php llamada ext que se encuentra en C:\xampp\php\ext, esta es la ruta cuando lo haces con xampp, si instalas php independiente la ruta será distinta.

Archivos pegados en la carpeta ext de php

Identificando la extensión correcta para conectar php con SQL Server

Para conectar PHP con SQL Server es necesario saber ciertas configuraciones de php como lo son la versión actual, la arquitectura, y si soporta Thread Safety (Seguridad en entornos multihilo).

Para ello vamos a crear un archivo php al cual llamaremos informacion.php y dentro de el vamos a pegar el siguiente código:

Después vamos abrir ese archivo en el navegador

Archivo informacion.php

Ahora nos aparece una tabla con todas las características, a nosotros solo nos interesa saber las siguientes:

datos necesarios para conectar php con SQL Server

Bien ahora sabemos que la versión de mi php es 8.0.23 que la arquitectura es x64 y que soporta Thread Safety

En tu caso quizás tengas una versión mas antigua de php, quizás la arquitectura sea de x86 y quizás no soporte Thread Safety

Una vez que tengas esos datos anótalos porque los utilizaras en el siguiente paso.

Habilitando extensiones en php.ini

Hay dos formas de editar el php.ini, la primera es yendo directamente al archivo que se encuentra en mi caso en: «C:\xampp\php\php.ini» y darle doble click para abrirlo y editarlo.

Ubicación del archivo php.ini

Y la segunda opción es abrir el panel de control de xampp, en los botones de configuración del servidor apache darle click al botón Config y seleccionar la opción PHP (php.ini)

php.ini desde el panel de control de xampp

En ambos casos se va a abrir un bloc de notas con toda la configuración de las características de php

php.ini abierto

Una vez abierto vamos a bajar hasta encontrar las líneas donde se habilitan las extensiones y vamos a habilitar las nuestras escribiendo extension:nombre_de_tu_extension.dll

El punto y coma ( ; ) al inicio sirve para comentar la linea, asegúrate que cuando habilites tu extensión no le pongas punto y coma ya que de este modo no se habilitaran.

habilitando extensiones SQL Server – PHP

Dado que mi versión de php es 8.0, que si soporta Thread Safety, y que mi arquitectura es x64 las extensiones correctas son cualquiera de estas dos:

  • php_pdo_sqlsrv_80_ts_x64.dll
  • php_sqlsrv_80_ts_x64.dll

Suponiendo que tu versión de php es 8.1, que no soporta Thread Safety y que tu arquitectura es de x86 tendrías que elegir las extensiones:

  • php_pdo_sqlsrv_81_nts_x86.dll
  • php_sqlsrv_81_nts_x86.dll

También puedes elegir en solo poner una de las dos extensiones, ya que una te sirve para manipular los datos de SQL server mediante la interfaz PDO, y la otra extensión sirve para manipular los datos de una manera mas nativa y directa con SQL Server.

Yo te recomiendo habilitar las dos extensiones por si llegaras a necesitarlas mas adelante.

Una vez que habilitaste tus extensiones correctas guarda los cambios en el bloc de notas y reinicia tu servidor desde el panel de control de xampp dando click en el botón stop y después en start

Creando conexión entre PHP y SQL Server

Bien, ahora que ya configuramos las extensiones adecuadas para conectar PHP con SQL Server vamos a crear la conexión con la base de datos para verificar que todo el proceso anterior lo hayamos hecho correcto.

Creamos un archivo php llamado conexion.php y le agregamos este código.

Recuerda configurar el nombre de tu servidor, base de datos, usuario y contraseña.
Después abre el archivo conexión.php en el navegador

Verificando conexión entre php y SQL Server

Si realizaste los pasos correctamente te aparecerá el mensaje de Conexión exitosa, de lo contrario te aparecerá Error de conexión: y un mensaje del error, en ese caso verifica nuevamente todos los pasos.

[despedida]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *