Si estás aprendiendo a crear páginas dinámicas con PHP, seguramente has oído hablar de MySQL. Pero ¿sabes cómo conectar ambos? En este post vamos a ver, paso a paso, cómo hacer que tu web hecha en PHP pueda comunicarse con una base de datos MySQL. Es decir, cómo hacer que tu sitio no solo muestre cosas, sino que también pueda guardar, buscar o modificar datos reales.
Vamos a explicarlo de forma clara, sin complicaciones, y con ejemplos prácticos para que puedas probarlo tú mismo.
Tabla de Contenidos:

Por qué usar PHP y MySQL juntos
PHP y MySQL son como una pareja bien avenida. Se entienden a la perfección y por eso se usan tanto en proyectos web. Muchas webs famosas, como WordPress o Wikipedia, usan esta combinación porque es rápida, gratuita y confiable.
- Compatibilidad total: PHP incluye funciones específicas para trabajar con MySQL.
- Curva de aprendizaje suave: no necesitas ser un experto para empezar.
- Buen rendimiento: soporta muchos usuarios y grandes volúmenes de datos.
- Comunidad activa: encontrarás foros, tutoriales y ayuda fácilmente si te atascas.
Si estás empezando en desarrollo web, esta combinación es una de las mejores opciones para aprender y construir proyectos reales, que puedas subir a tu hosting web y usarlos en la vida real.
Importante: si al trabajar en tu servidor ves que aparece “MariaDB” en lugar de “MySQL”, no te preocupes. MariaDB es una versión compatible con MySQL, creada por los propios desarrolladores originales y funciona igual en casi todos los casos. Puedes usar PHP con MariaDB de la misma forma que lo harías con MySQL, sin cambiar nada en tu código.
Qué necesitas antes de empezar
Antes de escribir tu primer archivo .php
con conexión a MySQL, necesitas preparar tu entorno de trabajo. Esto significa tener en tu ordenador todo lo necesario para crear y probar tu web.
- Un entorno local de servidor web, como XAMPP o WAMP, que incluyen Apache (servidor web) y MySQL (base de datos).
- phpMyAdmin, una herramienta para crear y gestionar tus bases de datos desde el navegador. Suele venir incluido en XAMPP o WAMP.
- Un editor de código como Visual Studio Code, Sublime Text o incluso Notepad++.
- Una base de datos creada para hacer las pruebas. Puedes crearla en phpMyAdmin en pocos clics.
Con esto, ya estarás listo para empezar a programar la conexión en PHP.
También puedes contratar un hosting barato y empezar a hacer tus pruebas en un entorno real. En Loading tenemos ofertas muy económicas de alojamiento web que puedes utilizar en tus proyectos PHP/MySQL son problemas y sin tener que realizar una gran inversión.

Datos necesarios para conectarte
Para que PHP pueda conectarse a tu base de datos, necesita unos datos básicos, como si le dieras una dirección, un usuario y una contraseña para acceder al “almacén” de información.
- Servidor: normalmente es
localhost
si estás trabajando en tu propio ordenador. - Usuario: el nombre del usuario con permisos para acceder a MySQL. En XAMPP suele ser
root
. - Contraseña: puede estar vacía por defecto, pero en producción siempre debe ser segura.
- Nombre de la base de datos: debe coincidir exactamente con el que pusiste al crearla.
Lo más recomendable es guardar estos datos en variables al principio del script, así podrás modificarlos fácilmente si cambian.
Qué métodos existen para conectar PHP con MySQL
En PHP existen dos formas principales de conectar con bases de datos. Ambas funcionan bien, pero tienen diferencias importantes que conviene entender desde el principio.
1. MySQLi
La palabra MySQLi viene de “MySQL Improved”, que significa “MySQL mejorado”. Es una herramienta que ofrece PHP para conectar con bases de datos MySQL (y solo MySQL).
Tiene dos formas de escribir el código:
- Procedimental: es una forma más directa, muy parecida a la de los primeros tiempos de PHP.
- Orientado a objetos: es más moderna y organizada, y la que se recomienda usar hoy en día.
Si solo vas a trabajar con bases de datos MySQL y estás empezando, MySQLi es una buena opción para aprender. Además, muchos proyectos reales lo usan, como por ejemplo phpMyAdmin, la herramienta para gestionar bases de datos que suele venir con XAMPP o WAMP.
2. PDO
PDO significa PHP Data Objects. Es otra forma de conectar con bases de datos, pero más flexible y profesional. ¿Por qué? Porque no solo sirve para MySQL, sino también para otros sistemas como PostgreSQL, SQLite, SQL Server, entre otros.
PDO siempre se usa con estilo orientado a objetos, y ofrece ventajas como:
- La posibilidad de preparar consultas para evitar errores o ataques (como las inyecciones SQL).
- Poder cambiar de base de datos en el futuro sin tener que reescribir todo el código.
Muchos frameworks y CMS modernos, como Laravel o Drupal, usan PDO porque permite desarrollar proyectos más complejos con mejor seguridad y escalabilidad.
-
Compatible con MySQL y MariaDB
-
Estilo procedimental y OOP
-
Ideal para proyectos sencillos
-
Portabilidad limitada
-
Utilizado en WordPress
if ($conexion->connect_error) {
die(«Error: » . $conexion->connect_error);
}
-
Múltiples tipos de bases de datos
-
Solo estilo OOP
-
Ideal para proyectos escalables
-
Fácil portabilidad
-
Presente en frameworks modernos
$conexion = new PDO(«mysql:host=$servidor;dbname=$db», $usuario, $pass);
} catch (PDOException $e) {
echo «Error: » . $e->getMessage();
}
Entonces… ¿cuál elijo?
- Usa MySQLi si estás empezando desde cero, si tu proyecto es pequeño o si vas a trabajar solo con MySQL. Por ejemplo, si estás creando tu primer sitio web desde local con XAMPP.
- Usa PDO si quieres que tu código sea más seguro y flexible, o si estás pensando en un proyecto grande que pueda crecer con el tiempo.
Por ejemplo, WordPress usa MySQLi por defecto para conectar con la base de datos, pero PDO es una buena opción si desarrollas proyectos personalizados que necesiten soportar otras bases de datos o mayor seguridad.
Ambas formas te permiten guardar, leer y modificar datos. La elección depende del tipo de proyecto y de lo que quieras aprender o hacer en el futuro.
Característica | MySQLi | PDO |
---|---|---|
Compatibilidad | Solo funciona con bases de datos MySQL | Funciona con múltiples tipos de bases de datos |
Estilos disponibles | Procedimental y orientado a objetos | Solo orientado a objetos |
Preparación de consultas | Disponible | Disponible y más flexible |
Facilidad para cambiar de motor de base de datos | Difícil, hay que reescribir el código | Fácil, solo hay que cambiar el DSN |
Ideal para | Proyectos pequeños y específicos de MySQL | Proyectos grandes o con posibilidad de crecer |
Ejemplo de conexión con MySQLi (estilo orientado a objetos)
Aquí tienes un ejemplo de cómo sería el código para conectar usando MySQLi:
<?php
$servidor = "localhost";
$usuario = "root";
$contraseña = "";
$base_de_datos = "nombre_de_tu_base_de_datos";
$conexion = new mysqli($servidor, $usuario, $contraseña, $base_de_datos);
if ($conexion->connect_error) {
die("Error al conectar con la base de datos: " . $conexion->connect_error);
}
echo "¡Conexión exitosa!";
$conexion->close();
?>
¿Qué hace este código?
- Declara las variables con los datos necesarios.
- Usa
new mysqli(...)
para intentar conectar. - Comprueba si hay errores con
connect_error
. - Muestra un mensaje si todo fue bien.
- Cierra la conexión con
$conexion->close()
.
Es simple, pero muy útil para empezar a hacer tus primeras pruebas.
Ejemplo de conexión con PDO
Ahora veamos cómo hacerlo usando PDO, que es más versátil y seguro en entornos reales.
<?php
$servidor = "localhost";
$usuario = "root";
$contraseña = "";
$base_de_datos = "nombre_de_tu_base_de_datos";
try {
$conexion = new PDO("mysql:host=$servidor;dbname=$base_de_datos;charset=utf8", $usuario, $contraseña);
$conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "¡Conexión exitosa con PDO!";
} catch (PDOException $e) {
echo "Error de conexión: " . $e->getMessage();
}
?>
Ventajas del uso de PDO:
- Puedes manejar los errores con
try/catch
. - Es más fácil de proteger contra ataques como inyecciones SQL.
- Puedes usar preparación de consultas, lo que hace tu código más seguro y organizado.
Conclusión
Conectar PHP con una base de datos MySQL (o MariaDB) es un paso fundamental para crear páginas web dinámicas y útiles. Ya sea que elijas usar MySQLi o PDO, lo importante es entender cómo funciona la conexión y aprender a manejar los datos de forma segura.
Si estás empezando, prueba los ejemplos, experimenta con tu base de datos local y verás que no es tan complicado como parece. Con práctica y una buena base, pronto podrás crear proyectos web profesionales que realmente interactúen con los usuarios.
