Siendo PHP un lenguaje interpretado del lado del servidor, comunicarlo con MySQL para realizar operaciones con una base de datos, no debe ser un proceso muy complicado. Así que, igual que en cualquier lenguaje de programación, todo comienza con la manera de realizar una conexión a la base de datos. De eso se trata nuestro artículo de hoy.
Creando la base de datos MySQL
Obviamente, lo primero es tener una base de datos para trabajar. En este contexto la crearemos usando phpMyAdmin desde nuestro Panel de control de XAMPP en Windows, ya que es el setup local típico en muchos casos. Si usas MacOS o alguna distribución Linux, por favor revisa como realizar este proceso de acuerdo a tu sistema operativo y el entorno de servidor que tengas instalado.
Abrimos el XAMPP Control Panel y presionamos el botón Start tanto en Apache como en MySQL.

Cuando ambos servicios estén activo (en color verde), presionamos el botón Admin de MySQL.

Una vez aparezca phpMyAdmin, presionamos el botón Base de datos.

Escribimos el nombre de nuestra base de datos y como cotejamiento seleccionamos utf8mb4_spanish_ci para el idioma español. Al finalizar, presionamos el botón Crear.

¡Listo! la base de datos ha sido creada, por el momento no necesitamos hacer nada más.

Creando la conexión de PHP a MySQL
En tu editor de código favorito, abre la carpeta de tu proyecto o crea una nueva para comenzar a trabajar. En mi caso, utilizo VS Codium.

Colocaremos el código para la conexión en un archivo separado llamado conectar.

Es hora de escribir código, comenzamos creando un bloque PHP.
<?php
Dentro, creamos una función llamada conectar (puedes llamarla como deseees) que regresará un objeto MySQL conectado o falso si no se puede lograr.
function conectar(){
}
Trabajemos en el interior de esa función. Primero necesitamos los datos de conexión del servidor. El nombre o dirección IP del host, como estamos haciendo una prueba local será localhost. El nombre del usuario de la base de datos y su clave, en XAMPP el administrador es root y no tiene clave. Por motivo educativos lo usaremos, pero es importante aclarar que cada base de datos debe tener un usuario con sus privilegios necesarios NUNCA UTILICES ROOT EN UN PROYECTO REAL. Por último, el nombre de la base de datos.
$host = "localhost";
$user = "root";
$clave = "";
$bd = "ejemplophp";
Iniciamos un bloque try para capturar excepciones
try{
Creamos un objeto de tipo mysqli, la biblioteca por defecto para MySQL desde PHP 4.1, le pasamos los datos de conexión al servidor.
$con = new mysqli($host, $user, $clave, $bd);
Utilizamos la función connect_errno para saber si hubo un error de conexión, en cuyo caso convertimos nuestra variable en un simple boolean que regresa falso.
if($con->connect_errno) $con = false;
Cerramos el try y abrimos un catch para capturar cualquier problema de tipo mysqli_sql_exception.
}catch(mysqli_sql_exception $e){
Si ocurre una excepción, convertimos de nuevo la variable en un boolean que regrese falso y cerramos el catch.
$con = false;
}
Después regresamos nuestra variable sea un objeto mysql o un boolean.
return $con;
Salimos de la función y cerramos el bloque PHP.
?>
Todo el código escrito hasta ahora luce así.
<?php
function conectar(){
$host = "localhost";
$user = "root";
$clave = "";
$bd = "ejemplophp";
try{
$con = new mysqli($host, $user, $clave, $bd);
if($con->connect_errno) $con = false;
}catch(mysqli_sql_exception $e){
$con = false;
}
return $con;
}
?>
Probando el funcionamiento de la conexión
Creamos un archivo adicional para hacer las pruebas, puede llamarse cono desees.

Entonces, abrimos un bloque PHP.
<?php
Con la función include, hacemos la llamada a nuestro archivo anterior.
include("conectar.php");
Invocamos a la función conectar para crear nuestro objeto MySQL.
$con = conectar();
Si el objeto vale false, notificamos que no se pudo realizar la conexión.
if(!$con) echo "No se pudo conectar";
De lo contrario, el objeto ha sido creado y se pudo lograr la conexión.
else echo "Conexión exitosa";
Cerramos el bloque PHP.
?>
Y todo el código escrito queda así:
<?php
include("conectar.php");
$con = conectar();
if(!$con) echo "No se pudo conectar";
else echo "Conexión exitosa";
?>
Finalmente, abrimos una ventana o pestaña de nuestro navegador y abrimos el archivo que acabamos de crear. Si todo salió bien, deberíamos obtener el mensaje de éxito. No olvides que el servidor local se llama localhost y de usar el nombre de la carpeta del proyecto en la referencia.

Si en lugar de eso, obtiene el otro mensaje, revisa si escribirte correctamente los datos de acceso al servidor, si el servidor está funcionando correctamente o si tienes algún problema de red.

Como nota adicional, es posible que en algunos entornos necesites añadir la siguiente línea antes de escribir todo el código para lograr la conexión.
mysqli_report(MYSQLI_REPORT_OFF);
De esta manera se desactiva la notificación genérica de errores de MySQL, que puede ser un potencial riesgo de seguridad en tu aplicación.
Comentarios, dudas y preguntas
¿Te ha resultado? ¿Tuviste algún problema? Déjanos saber en los comentarios aquí abajo, con gusto las respondemos.

Docente, blogger, developer. Editor & Copy
Sobre: #Blogging, #Excel, #VBA, #Android, #PHP, #JavaScript, #Java, #WordPress, #IoT, #Python
