🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo conectar PHP a una base de datos MySQL en Plesk (con ejemplos)

Actualizado el 14 de diciembre de 2025

Antes de empezar: ¿Qué necesitas para conectar PHP y MySQL en Plesk?

Conectar tu sitio web PHP a una base de datos MySQL es uno de los pasos más importantes para crear aplicaciones dinámicas, como tiendas online, blogs con usuarios o paneles de administración. Si estás usando Plesk como panel de control de tu hosting, el proceso es bastante sencillo, pero requiere que tengas claros algunos conceptos y datos.

Para seguir esta guía sin problemas, necesitarás:

  • Acceso a tu panel de control de Plesk (normalmente en https://tu-dominio.com:8443 o una URL que te haya dado tu proveedor).
  • Un dominio o subdominio configurado en Plesk donde esté alojado tu sitio PHP.
  • Un editor de texto plano (como Notepad++, Sublime Text o Visual Studio Code) para crear o modificar tus archivos PHP.
  • Conocimientos muy básicos de PHP y SQL. No te preocupes, aquí te explicamos todo paso a paso.

[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es similar, pero el acceso al panel se realiza a través del puerto 2106. El resto de la lógica de conexión PHP a MySQL que verás aquí es perfectamente aplicable.


Paso 1: Crear la base de datos y el usuario MySQL en Plesk

Antes de escribir una sola línea de código, necesitas tener una base de datos creada y un usuario con permisos para acceder a ella. Plesk te permite hacer esto de forma gráfica y muy rápida.

### 1.1 Accede a la sección de Bases de Datos

Dentro de tu panel de Plesk, busca el apartado que se llama "Bases de Datos" o "Databases" (normalmente en el menú lateral izquierdo o en la pestaña de "Sitios web y dominios"). Haz clic en el botón "Agregar base de datos" o "Add Database".

### 1.2 Configura los detalles de la base de datos

Se te pedirán varios datos. Te recomendamos seguir estas convenciones para evitar confusiones:

  • Nombre de la base de datos: Elige un nombre descriptivo, por ejemplo, miblog_db. En muchos casos, Plesk le añadirá un prefijo con tu nombre de usuario (ej. usuario_miblog_db). Anota el nombre completo tal y como aparece.
  • Tipo de base de datos: Asegúrate de seleccionar MySQL.
  • Servidor de base de datos: Si solo tienes una opción, déjala por defecto. Si tienes varias, elige la que uses habitualmente.

### 1.3 Crea un usuario para la base de datos

En la misma pantalla o justo después, tendrás la opción de "Agregar nuevo usuario" o "Create New User". Es una buena práctica no usar el usuario administrador principal para tu aplicación.

  • Nombre de usuario: Por ejemplo, usuario_bd.
  • Contraseña: Genera una contraseña segura. Puedes usar el generador integrado de Plesk. Guarda esta contraseña en un lugar seguro, la necesitarás para el código PHP.

[TIP] Asegúrate de que el usuario tenga todos los privilegios sobre la base de datos que acabas de crear. Plesk suele marcarlo por defecto, pero verifica que la opción "Todos los privilegios" esté activada.

Una vez guardado, ya tienes los tres datos clave que necesitarás para conectar php mysql plesk:

  1. El nombre de la base de datos.
  2. El nombre de usuario.
  3. La contraseña del usuario.

Paso 2: ¿Cuál es el nombre del servidor MySQL? (El dato que más confunde)

Este es el punto donde la mayoría de la gente se pierde. En un hosting compartido típico, el servidor MySQL suele ser localhost. Sin embargo, en Plesk a veces puede ser un nombre de host interno como localhost o la IP de tu servidor.

### 2.1 Cómo averiguar el host de tu base de datos en Plesk

  1. Ve a la lista de "Bases de Datos" en Plesk.
  2. Haz clic en el nombre de la base de datos que acabas de crear.
  3. Busca la pestaña de "Parámetros de conexión" o "Connection Parameters".
  4. Ahí verás un campo llamado "Host" o "Servidor". En la mayoría de los casos, será localhost. Si ves una IP o un nombre de dominio largo (ej. db.internal.example.com), cópialo tal cual.

[INFO] En la gran mayoría de configuraciones de Plesk, el host es localhost. Pero si tu proveedor usa un sistema de gestión como Syspanel (puerto 2106), el host podría ser una IP privada. Siempre verifica este dato en los parámetros de conexión.


Paso 3: Tu primer script de conexión con MySQLi (el método recomendado)

Ahora viene la parte divertida: el código. Vamos a usar la extensión MySQLi (MySQL Improved), que es la más recomendada para PHP moderno porque es segura y soporta programación orientada a objetos.

[WARNING] Evita usar la antigua función mysql_connect() que fue eliminada en PHP 7. No es segura y no funcionará en tu servidor Plesk actual.

### 3.1 El código básico de conexión

Crea un archivo llamado conexion.php y pega el siguiente código. Reemplaza los valores con los que obtuviste en los pasos anteriores.

<?php
// --- DATOS DE CONEXION ---
$host = 'localhost'; // Cambia esto si Plesk te dio otro host
$usuario = 'tu_usuario_bd'; // El nombre de usuario que creaste
$contrasena = 'tu_contraseña_segura'; // La contraseña del usuario
$base_datos = 'tu_nombre_bd'; // El nombre de tu base de datos

// --- CREAR LA CONEXION ---
$conn = new mysqli($host, $usuario, $contrasena, $base_datos);

// --- VERIFICAR SI HAY ERRORES ---
if ($conn->connect_error) {
    die("Error de conexión: " . $conn->connect_error);
}

// --- CONFIGURAR EL CHARSET (IMPORTANTE PARA TILDES Y Ñ) ---
$conn->set_charset("utf8");

echo "Conexión exitosa a la base de datos MySQL en Plesk.";
?>

### 3.2 Explicación sencilla del código

  • new mysqli(...): Crea un nuevo objeto de conexión. Los parámetros son: host, usuario, contraseña y nombre de la base de datos.
  • connect_error: Si la conexión falla, este atributo tendrá un mensaje de error. die() detiene el script y muestra el error.
  • set_charset("utf8"): Es crucial para que los acentos, la "ñ" y los caracteres especiales se muestren correctamente en tu web.

### 3.3 Probando la conexión

Sube el archivo conexion.php a la raíz de tu dominio en Plesk (normalmente en la carpeta httpdocs o public_html). Abre tu navegador y visita https://tu-dominio.com/conexion.php.

Deberías ver el mensaje: "Conexión exitosa a la base de datos MySQL en Plesk."

Si ves un error como Access denied for user, significa que el usuario o la contraseña no son correctos. Si ves Unknown database, el nombre de la base de datos está mal.


Paso 4: Ejemplo práctico con PHP y MySQL (INSERT y SELECT)

Conectar es el primer paso, pero lo que realmente quieres es usar la base de datos. Vamos a ver un ejemplo completo de cómo insertar datos y cómo leerlos, todo en un solo script para que veas el flujo completo de la conexion base datos php.

### 4.1 Crear una tabla de ejemplo

Primero, necesitas una tabla. Puedes hacerlo desde Plesk (en la sección de la base de datos, usando phpMyAdmin) o ejecutando este SQL desde tu script.

CREATE TABLE IF NOT EXISTS usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

### 4.2 Código completo: Insertar y Mostrar datos

Crea un archivo llamado ejemplo_completo.php con este contenido:

<?php
// Incluir la conexión que creamos antes
require_once 'conexion.php';

// --- OPERACIÓN 1: INSERTAR UN REGISTRO ---
$nombre = "Juan Pérez";
$email = "juan@example.com";

// Usamos sentencias preparadas para evitar inyección SQL
$stmt = $conn->prepare("INSERT INTO usuarios (nombre, email) VALUES (?, ?)");
$stmt->bind_param("ss", $nombre, $email); // "ss" indica que ambos son strings

if ($stmt->execute()) {
    echo "Registro insertado correctamente. ID: " . $conn->insert_id . "<br>";
} else {
    echo "Error al insertar: " . $stmt->error . "<br>";
}
$stmt->close();

// --- OPERACIÓN 2: SELECCIONAR Y MOSTRAR DATOS ---
$sql = "SELECT id, nombre, email FROM usuarios ORDER BY fecha_registro DESC";
$resultado = $conn->query($sql);

if ($resultado->num_rows > 0) {
    echo "<h3>Usuarios registrados:</h3>";
    echo "<ul>";
    // Recorremos cada fila de resultados
    while ($fila = $resultado->fetch_assoc()) {
        echo "<li>";
        echo "ID: " . $fila['id'] . " - ";
        echo "Nombre: " . $fila['nombre'] . " - ";
        echo "Email: " . $fila['email'];
        echo "</li>";
    }
    echo "</ul>";
} else {
    echo "No hay usuarios todavía.";
}

// Cerrar la conexión (buena práctica)
$conn->close();
?>

### 4.3 Cómo funciona este ejemplo

  • prepare() y bind_param(): Son la forma más segura de ejecutar consultas que incluyen variables. Evitan que un usuario malintencionado inyecte código SQL.
  • query(): Se usa para consultas directas que no necesitan parámetros dinámicos.
  • fetch_assoc(): Convierte cada fila de la base de datos en un array asociativo, donde puedes acceder a los datos usando el nombre de la columna como clave.

[WARNING] Nunca concatenes variables directamente en una consulta SQL. Siempre usa sentencias preparadas. Esto es fundamental para la seguridad de tu aplicación.


Paso 5: Errores comunes y cómo solucionarlos

Cuando estás trabajando con Plesk, es normal encontrarse con algunos problemas. Aquí tienes los más frecuentes y sus soluciones.

### 5.1 "Connection refused" o "No such file or directory"

Esto suele pasar cuando el host no es localhost. Vuelve a revisar los parámetros de conexión en Plesk. A veces el host es una IP o un socket Unix. Si es un socket, el host suele ser localhost y el puerto 3306.

### 5.2 "Access denied for user 'usuario'@'localhost'"

  • La contraseña es incorrecta: Cópiala directamente desde Plesk (puedes verla en la sección de usuarios de la base de datos).
  • El usuario no tiene permisos: Ve a la base de datos en Plesk, edita el usuario y asegúrate de que tiene "Todos los privilegios".
  • El usuario no pertenece a esa base de datos: El usuario debe estar vinculado a la base de datos específica.

### 5.3 "Unknown database 'nombre_bd'"

Comprueba que el nombre de la base de datos es exactamente el que aparece en Plesk. Recuerda que a menudo incluye un prefijo con tu nombre de usuario (ej. usuario_miweb).

### 5.4 Problemas con caracteres (tildes y ñ)

Si ves é o en lugar de é o ñ, es un problema de codificación. Asegúrate de:

  1. Haber usado $conn->set_charset("utf8") en tu script.
  2. Que tus tablas en MySQL usen el cotejamiento utf8mb4_unicode_ci. Puedes cambiarlo en phpMyAdmin desde Plesk.

Paso 6: Buenas prácticas para tu conexión en Plesk

Para terminar, te damos algunos consejos que te ahorrarán dolores de cabeza en el futuro.

### 6.1 No repitas la conexión en cada archivo

En lugar de copiar el código de conexión en cada archivo PHP, crea un archivo conexion.php y usa require_once 'conexion.php'; al principio de cada script. Así solo tendrás que cambiar la contraseña en un solo lugar si es necesario.

### 6.2 Usa variables de entorno (opcional)

Plesk tiene una función para definir variables de entorno. Puedes usarla para guardar la contraseña y no tenerla en el código fuente. Sin embargo, para la mayoría de los proyectos pequeños, el archivo conexion.php es suficiente.

[INFO] Si tu sitio crece y migras a un servidor con Syspanel (puerto 2106), el enfoque de variables de entorno te facilitará mucho la migración.

### 6.3 Cierra siempre la conexión

Aunque PHP lo hace automáticamente al final del script, es una buena práctica llamar a $conn->close(); cuando ya no necesites la conexión. Esto libera recursos del servidor.

### 6.4 Haz copias de seguridad

Desde Plesk puedes programar copias de seguridad de tu base de datos. Es una función muy útil que te evitará perder datos si algo sale mal.


Preguntas frecuentes (FAQ) sobre conectar PHP a MySQL en Plesk

¿Puedo usar PDO en lugar de MySQLi?
Sí, PDO es otra excelente opción, incluso más flexible. La lógica es la misma: necesitas el host, usuario, contraseña y nombre de la base de datos. La ventaja de MySQLi es que es muy directo y está muy bien documentado.

¿Qué pasa si cambio la contraseña de la base de datos en Plesk?
Deberás actualizar el archivo conexion.php inmediatamente. Si no lo haces, tu sitio web dejará de funcionar y mostrará un error de conexión.

¿Necesito crear un usuario diferente para cada base de datos?
No es obligatorio, pero es una buena práctica de seguridad. Si tienes varias aplicaciones, lo ideal es que cada una tenga su propio usuario y base de datos.

¿Puedo conectar desde fuera de mi hosting (por ejemplo, desde mi PC)?
Generalmente no, por seguridad. Los servidores MySQL en Plesk están configurados para aceptar conexiones solo desde el mismo servidor (localhost). Si necesitas acceso externo, tendrías que configurar manualmente el acceso remoto, lo cual no se recomienda a menos que sepas lo que haces.

¿Qué es el puerto 3306?
Es el puerto por defecto para MySQL. En la mayoría de los casos, no necesitarás especificarlo porque PHP usa el valor por defecto. Si tu proveedor usa un puerto diferente, te lo indicará en los parámetros de conexión de Plesk.


Conclusión: Ya sabes cómo conectar PHP y MySQL en Plesk

Como has visto, conectar php mysql plesk no es complicado. Solo necesitas localizar los datos correctos en tu panel, usar una extensión moderna como MySQLi y seguir las buenas prácticas de seguridad.

Recuerda los pasos clave:

  1. Crea la base de datos y el usuario en Plesk.
  2. Verifica el host (normalmente localhost).
  3. Escribe tu script con mysqli y set_charset("utf8").
  4. Usa sentencias preparadas para cualquier consulta con variables.

Con estos fundamentos, ya puedes empezar a construir aplicaciones dinámicas sobre tu hosting Plesk. Si te surge cualquier duda, revisa los parámetros de conexión en tu panel y, por supuesto, este artículo. ¡Buena suerte con tu desarrollo!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel