Instalando SQL Server y conectando con PHP

Ronaldo B.2 de septiembre de 20228 min de lectura

En este artículo

SQL Server es una de las bases de datos más famosas y reconocidas en el mundo, siendo muy utilizado en el entorno corporativo. En este artículo, aprenderemos a instalar SQL Server en nuestra computadora y a realizar la conexión con PHP. Veremos cuáles pueden ser los desafíos para realizar esta conexión y cuáles son los mejores caminos para resolverlos.

Instalando SQL Server

Para realizar la instalación de SQL Server 2019, vamos a acceder a la página con las opciones de descargas en el sitio de Microsoft.

SQL Server por defecto es de pago. Sin embargo, podemos descargar SQL Server Express, una versión gratuita de esta base de datos. Seleccionaremos la siguiente opción:

Versión Express de SQL Server en el navegador

Después de realizar la descarga, comenzaremos la instalación. La primera ventana que veremos mostrará tres opciones de instalación. Seleccionaremos la instalación básica, que instalará las configuraciones predeterminadas de SQL Server:

Opciones de instalación en SQL Server

A continuación, veremos una ventana con los Términos de Uso de SQL Server. Simplemente haga clic en “Aceptar” (como siempre hacemos en cualquier instalación ?).

Términos de uso en el instalador de SQL Server

A continuación, veremos la ventana con la ubicación de instalación de SQL Server, y podemos seleccionar la carpeta que deseemos. Luego, simplemente haga clic en “Instalar” y espere a que el proceso se complete:

Opción de ubicación de instalación de SQL Server

Después de la instalación, veremos el siguiente mensaje de éxito:

Mensaje de éxito en la instalación de SQL Server Express

Instalando SSMS

Ahora que hemos instalado el servicio de SQL Server en la computadora, necesitamos instalar la interfaz gráfica donde podremos gestionar nuestras conexiones y nuestras bases de datos. En SQL Server, esta interfaz se llama “SQL Server Management Studio”, o SSMS. Observe que en la propia ventana que informa del éxito de la instalación, podemos ver un botón para instalar esta interfaz:

Opción para instalar el SSMS

Al hacer clic en esta opción, seremos redirigidos a este sitio:

Sitio de descarga del SSMS

Haremos clic en el enlace azul para descargar el SSMS.

Una vez completada la descarga, comenzaremos la instalación. La primera ventana de instalación nos mostrará la ubicación donde se instalará el SSMS y podemos cambiar la carpeta si lo deseamos. Luego, simplemente haga clic en “Install”:

Primera ventana de instalación del SSMS

Se iniciará el proceso de instalación de los paquetes de esta interfaz en nuestra computadora. En cuanto el SSMS se instale, se nos pedirá que reiniciemos el ordenador:

Mensaje de éxito de la instalación del SSMS

Después de reiniciar la computadora, veremos la opción del SSMS en nuestro Menú Inicio. En la imagen a continuación, es la cuarta opción:

SSMS en el Menú Inicio de Windows

Al iniciar esta interfaz, se nos pedirá que realicemos nuestra autenticación. En nuestro caso, elegiremos la opción “Windows Authentication”:

Ventana de autenticación en el SSMS

Esto hará que estemos logueados en SQL Server. Sin embargo, para conectarlo con PHP, es más común tener un usuario y una contraseña. Realizaremos esta configuración ahora. Para ello, haremos clic con el botón derecho en Security > New > Login.

Opción para crear un nuevo login

En la ventana siguiente, seleccionaremos la opción SQL Server authentication y luego ingresaremos un nombre para nuestro usuario y una contraseña para él. En nuestro caso, nuestro usuario se llamará “hcode” y la contraseña será “root”:

Creando un usuario en el SSMS

La siguiente configuración que realizaremos será en cuanto a los privilegios que este usuario tendrá. Para agregarlos, haremos clic en “Server Roles”, que estará en nuestro menú izquierdo. En esta ventana, daremos a este usuario los privilegios “public” y “sysadmin”:

Ventana para agregar privilegios a los usuarios

Recordando que solo estamos proporcionando estos privilegios al usuario porque estamos en una máquina de desarrollo. En el día a día, estos privilegios son gestionados por el DBA de la empresa y son delegados con mucha atención y cuidado.

Después de esta configuración, basta hacer clic en “Ok”, en el pie de página, y tendremos un nuevo usuario autenticado en nuestra interfaz.

Sin embargo, eso no será suficiente para autenticar nuestro usuario cuando lo conectemos a PHP. Un último ajuste es necesario. Vaya al nombre de nuestro usuario principal de SQL Server, haga clic con el botón derecho sobre él y luego haga clic en Propiedades:

Propiedades de nuestro usuario

En la ventana que se abrirá, haga clic en Security, que estará en el menú de la izquierda, y luego seleccione la opción “SQL Server and Windows Authentication mode”:

Definiendo el tipo de autenticación en SQL Server

Cuántas configuraciones, ¿verdad? Pero ahora hemos llegado al final y estamos listos para crear nuestra primera base de datos.

Creando nuestra primera base de datos en SQL Server

Ahora que la instalación y configuración de SQL Server se ha completado, vamos a crear nuestra primera base de datos. Para eso, haremos clic con el botón derecho en Databases y seleccionaremos la opción New Database:

Opción para crear una nueva base de datos

En la ventana que se abrirá, veremos la opción de crear el nombre de la base de datos y lo definiremos como “hcodedb”. Luego haremos clic en “Ok” y tendremos una nueva base de datos creada:

Ventana para creación de una nueva base de datos

Nuestra base de datos aparecerá en el menú de la izquierda de nuestra interfaz. Para crear nuestro primer proyecto, haremos clic con el botón derecho sobre ella y luego seleccionaremos “New Query”:

Opción para crear una nueva consulta en la base de datos

Se abrirá una ventana en blanco donde podremos ejecutar nuestros códigos. Vamos a crear una tabla de usuarios, con el siguiente script:

CREATE TABLE users (
	id INT PRIMARY KEY NOT NULL IDENTITY,
	name VARCHAR(64) NOT NULL,
	age INT NOT NULL
);

Solo recordando que para ejecutar un comando en SQL Server, necesitamos seleccionar las líneas que queremos ejecutar y presionar F5 o Ctrl + R.

Después de haber creado la tabla, la poblaremos con algunos registros, usando el siguiente script:

INSERT INTO users (name, age) VALUES ('João Rangel', 25), ('Glaucio Daniel', 26), ('Djalma Sindeaux', 27);

Al seleccionar los datos de la tabla de usuarios, veremos el siguiente resultado:

Resultado del SELECT en la tabla de usuarios

Nuestra base de datos ya está funcionando, lo cual es excelente. El siguiente paso es conectar PHP a SQL Server. Vamos a utilizar la versión 7.4.6 de PHP, instalada a través de XAMPP. 

Para realizar la conexión con SQL Server, primero necesitaremos descargar algunas DLLs. Pero, ¿qué son las DLLs?

¿Qué son las DLLs?

DLL significa “Dynamic Link Library” (Biblioteca de Vínculo Dinámico). Es un archivo que contiene códigos que pueden ser ejecutados por diferentes programas al mismo tiempo. Las múltiples funcionalidades de PHP consisten en usar DLLs. La mayoría de los recursos de este lenguaje ya vienen con las DLLs definidas en su estructura, como MySQL, por ejemplo. Sin embargo, las DLLs de SQL Server no vienen definidas por defecto. Necesitamos realizar la descarga de ellas.

Para esta descarga, vamos a acceder a la página oficial de Microsoft en GitHub.

Esta página lista varias versiones de controladores de SQL Server para PHP. Seleccionaremos la versión 5.8.0:

Página con las opciones de descarga de las DLLs de SQL Server

Al abrir esta página, veremos una lista de varios archivos que contienen las DLLs que deseamos. Seleccionaremos el archivo .zip que contenga el nombre de nuestro sistema operativo junto con la versión de nuestro PHP. En mi caso, será Windows, con la versión 7.4:

Archivo zip con la versión 7.4 de PHP en Windows

Después de realizar la descarga, vamos a extraer la carpeta que contiene nuestras DLLs. Notaremos que esta carpeta tiene dos opciones: x64 (Computadores de 64 bits) y x86 (Computadores de 32 bits). Podemos seleccionar la carpeta que corresponda a la arquitectura de nuestra computadora.

Vamos a pegar estas DLLs en la carpeta xampp/php/ext. Luego, necesitamos hacer referencia a estas DLLs en nuestro archivo php.ini, que se encuentra en la carpeta xampp/php. Agregaremos las siguientes configuraciones a este archivo:

extension=php_pdo_sqlsrv_74_nts.dll
extension=php_pdo_sqlsrv_74_ts.dll
extension=php_sqlsrv_74_nts.dll
extension=php_sqlsrv_74_ts.dll

Serán definidas alrededor de la línea 910 del archivo php.ini.

DLLs en el archivo php.ini

Necesitamos reiniciar nuestro servidor de XAMPP. Por último, vamos a realizar la solicitud a SQL Server usando PHP con PDO. Crearemos un archivo llamado index.php y tendrá el siguiente contenido:

<?php

$connection = new PDO("sqlsrv:Database=hcodedb;server=localhost\SQLEXPRESS", "hcode", "root");

$statement = $connection->prepare("SELECT * FROM users;");

$statement->execute();

$users = $statement->fetchAll(PDO::FETCH_ASSOC);

?>

En este código hemos creado una conexión con SQL Server e informado una consulta para ser ejecutada en la base de datos, que seleccionará todos los usuarios registrados. Almacenamos el resultado de la consulta en una variable llamada $users.

Recordando que explicamos en detalle la función de cada uno de los métodos anteriores en nuestro Curso Completo de PHP 7, donde aprendemos todos los conceptos de PHP y desarrollamos un proyecto real increíble, con más de 130 clases y 33 horas de contenido.

Para mostrar estos datos en nuestra página, utilizaremos un código HTML, que tendrá una tabla posicionada a través de Flexbox. El contenido del archivo será este:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lista de Usuarios</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
        }
        table, th, tr, td {
            padding: 10px;
            font-size: 25px;
            border-collapse: collapse;
        }
        table, th {
            border: 2px solid #FF760C;
        }
        td {
            border-bottom: 1px solid #8395a7;
            border-right: 1px solid #8395a7;
        }
    </style>
</head>
<body>

    <table>
        <thead>
            <tr>
                <th>Nombre del Usuario</th>
                <th>Edad</th>
            </tr>
        </thead>

        <tbody>

            <?php foreach ($users as $user): ?>
                <tr>
                    <td><?php echo $user['name'] ?></td>
                    <td><?php echo $user['age'] ?></td>
                </tr>
            <?php endforeach; ?>

        </tbody>
</table>

</body>
</html>

El resultado en el navegador será el siguiente:

Resultado de nuestro código en el navegador

Excelente, ¡nuestro código funcionó!!! Nuestra conexión con SQL Server fue exitosa y ahora nuestros datos se están cargando de manera dinámica ?.

Puede encontrar el código completo desarrollado en este artículo en nuestro GitHub: https://github.com/hcodebr/blog-php

SQL Server es una base de datos muy poderosa y en este artículo aprendimos cómo dar el primer paso para crear grandes proyectos con esta increíble herramienta para nuestro desarrollo.

Gracias por haber leído hasta aquí y hasta el próximo artículo :)

Sigue aprendiendo con Hcode

Regístrate en la plataforma de cursos y sigue las próximas guías del blog.