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:
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:
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 ?).
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:
Después de la instalación, veremos el siguiente mensaje de éxito:
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:
Al hacer clic en esta opción, seremos redirigidos a este sitio:
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”:
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:
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:
Al iniciar esta interfaz, se nos pedirá que realicemos nuestra autenticación. En nuestro caso, elegiremos la opción “Windows Authentication”:
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.
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”:
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”:
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:
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”:
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:
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:
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”:
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:
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:
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:
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.
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:
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 :)