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

Cómo arreglar el error 'No database selected' en PrestaShop con DirectAdmin

Actualizado el 27 de abril de 2026

¿Qué significa el error "No database selected" en PrestaShop?

Si estás leyendo esto, probablemente te has encontrado con un mensaje de error bastante frustrante en tu tienda online. El error "No database selected" (o "No se ha seleccionado ninguna base de datos") es uno de los problemas más comunes cuando trabajas con PrestaShop y DirectAdmin. Pero no te preocupes, porque hoy voy a explicarte exactamente qué significa, por qué ocurre y, lo más importante, cómo solucionarlo paso a paso.

Este error aparece cuando tu tienda PrestaShop intenta conectarse a la base de datos MySQL pero no encuentra ninguna base de datos específica a la que dirigirse. Es como si intentaras abrir una caja fuerte pero no supieras cuál de todas las cajas es la tuya. El sistema sabe que hay una base de datos, pero no sabe cuál usar.

¿Por qué ocurre este error en DirectAdmin?

Antes de lanzarnos a la solución, es importante entender las causas más frecuentes. En un entorno DirectAdmin, este error suele aparecer por varias razones:

1. Configuración incorrecta en el archivo parameters.php

El archivo app/config/parameters.php es el corazón de la configuración de PrestaShop. Si los datos de conexión a la base de datos son incorrectos, tu tienda no podrá seleccionar la base de datos adecuada.

2. Base de datos eliminada o corrupta

Puede que alguien haya eliminado la base de datos por accidente, o que un proceso de migración haya fallado a mitad de camino.

3. Permisos insuficientes del usuario MySQL

El usuario que utiliza PrestaShop para conectarse a la base de datos puede no tener los permisos necesarios sobre la base de datos correcta.

4. Problemas con la caché de PrestaShop

A veces, la caché guarda información obsoleta sobre la conexión a la base de datos, lo que provoca errores intermitentes.

5. Cambios recientes en el servidor

Si has cambiado de servidor, migrado tu tienda o restaurado una copia de seguridad, es muy fácil que la configuración no coincida con la realidad.


Solución paso a paso para arreglar el error "No database selected"

Ahora vamos a lo importante. Sigue estos pasos en orden y, casi con total seguridad, conseguirás solucionar el problema. No necesitas ser un experto técnico, solo tener acceso a tu panel de control DirectAdmin y a tu hosting.

Paso 1: Identifica tu base de datos en DirectAdmin

Lo primero que necesitas hacer es acceder a tu panel DirectAdmin y localizar la información de tu base de datos.

  1. Inicia sesión en tu panel de DirectAdmin (normalmente en https://tudominio.com:2222).

  2. Busca la sección "MySQL Management" o "Administración de MySQL".

  3. Anota el nombre de la base de datos y el usuario asociado. En DirectAdmin, los nombres suelen tener un prefijo con tu nombre de usuario, por ejemplo: usuario_bd_prestashop.

  4. Verifica que la base de datos existe y que el usuario tiene asignados todos los privilegios sobre ella.

[WARNING] Si no ves tu base de datos en la lista, es que ha sido eliminada. En ese caso, necesitarás restaurarla desde una copia de seguridad o crearla de nuevo. Si tienes una copia de seguridad de tu tienda, este es el momento de usarla.

Paso 2: Revisa el archivo parameters.php

Este es el archivo más importante para la conexión de PrestaShop. Vamos a revisarlo y corregirlo si es necesario.

  1. Accede a tu hosting mediante FTP o el administrador de archivos de DirectAdmin.

  2. Navega hasta la carpeta raíz de tu instalación de PrestaShop.

  3. Abre la carpeta app/config/ y busca el archivo parameters.php.

  4. Ábrelo con un editor de texto (puedes usar el editor integrado de DirectAdmin).

  5. Busca las líneas relacionadas con la base de datos. Deberías ver algo similar a esto:

'database_host' => 'localhost',
'database_name' => 'usuario_bd_prestashop',
'database_user' => 'usuario_bd_user',
'database_password' => 'tu_contraseña',
  1. Verifica que el campo database_name coincida exactamente con el nombre de la base de datos que viste en DirectAdmin.

  2. Comprueba que database_user también coincida con el usuario MySQL.

  3. Asegúrate de que la contraseña sea correcta. Si no estás seguro, puedes cambiarla desde DirectAdmin en la sección MySQL.

[TIP] Si no estás seguro de la contraseña, ve a DirectAdmin > MySQL Management > selecciona tu usuario y cámbiala. Luego actualiza los datos en parameters.php. Es importante que la contraseña no contenga caracteres especiales como " o ' que puedan romper el archivo PHP.

Paso 3: Verifica los permisos del usuario MySQL

En ocasiones, el usuario existe pero no tiene permisos sobre la base de datos. Esto es especialmente común después de una restauración o migración.

  1. En DirectAdmin, ve a "MySQL Management".

  2. Haz clic en el icono de edición o en el nombre de tu base de datos.

  3. Asegúrate de que tu usuario está marcado con todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).

  4. Si no es así, selecciona todos los permisos y guarda los cambios.

[INFO] Los permisos de MySQL en DirectAdmin se gestionan mediante casillas de verificación. Asegúrate de marcar "ALL PRIVILEGES" o cada casilla individualmente.

Paso 4: Limpia la caché de PrestaShop

A veces, incluso con la configuración correcta, PrestaShop sigue mostrando el error por culpa de la caché. Vamos a limpiarla.

  1. Accede a tu servidor por FTP o al administrador de archivos.

  2. Navega hasta la carpeta var/cache/ en la raíz de PrestaShop.

  3. Elimina todos los archivos y carpetas dentro de var/cache/ (no borres la carpeta en sí).

  4. Si tu versión de PrestaShop es anterior a la 1.7, busca la carpeta cache/ y haz lo mismo.

[WARNING] Si no puedes acceder a tu panel de administración de PrestaShop, puedes eliminar la caché directamente desde el servidor. Esto no borrará datos de tu tienda, solo archivos temporales.

Paso 5: Prueba la conexión con un script simple

Para confirmar que la conexión funciona, puedes crear un archivo PHP temporal con el siguiente código:

<?php
$mysqli = new mysqli('localhost', 'usuario_bd_user', 'tu_contraseña', 'usuario_bd_prestashop');
if ($mysqli->connect_errno) {
    echo "Error: " . $mysqli->connect_error;
} else {
    echo "Conexión exitosa";
}
?>
  1. Crea un archivo llamado test_db.php en la raíz de tu hosting.

  2. Sustituye los datos por los tuyos.

  3. Accede a tudominio.com/test_db.php en tu navegador.

  4. Si ves "Conexión exitosa", el problema está en la configuración de PrestaShop, no en la base de datos.

  5. Si ves un error, anota el mensaje y revísalo. Suele indicar si es un problema de contraseña, de permisos o de nombre de base de datos.

  6. Cuando termines, elimina este archivo por seguridad.

Paso 6: Reinstala o repara la conexión de PrestaShop

Si todo lo anterior está correcto y el error persiste, puede que el problema sea más profundo. Prueba esto:

  1. Accede a tu panel de administración de PrestaShop (si puedes).

  2. Ve a Parámetros Avanzados > Rendimiento.

  3. Activa el modo "Debug" o "Depuración" para ver más detalles del error.

  4. Si no puedes acceder al panel, edita el archivo parameters.php y busca la línea 'debug' => false y cámbiala a 'debug' => true.

  5. Guarda y vuelve a cargar tu tienda. Ahora verás un mensaje de error más detallado que te indicará exactamente qué falla.

Paso 7: Restaura desde una copia de seguridad (último recurso)

Si has probado todo y nada funciona, es posible que la base de datos esté dañada. La solución más segura es restaurar desde una copia de seguridad reciente.

  1. Ve a DirectAdmin > "Backup/Restore".

  2. Selecciona la copia de seguridad que quieras restaurar.

  3. Asegúrate de restaurar tanto los archivos como la base de datos.

  4. Después de restaurar, repite los pasos 2 y 3 para asegurarte de que la configuración es correcta.

[INFO] Si no tienes una copia de seguridad, contacta con tu proveedor de hosting. Es posible que tengan una copia automática en sus servidores.


Preguntas frecuentes sobre el error "No database selected" en PrestaShop

¿Este error puede aparecer después de un cambio de servidor?

Sí, es muy común. Al cambiar de servidor, los nombres de las bases de datos, los usuarios y las contraseñas suelen ser diferentes. Debes actualizar el archivo parameters.php con los nuevos datos.

¿Puedo evitar que este error vuelva a aparecer?

Para prevenirlo, te recomiendo:

  • Realizar copias de seguridad periódicas de tu base de datos.

  • Documentar siempre los datos de conexión de tu base de datos.

  • No cambiar contraseñas sin actualizar PrestaShop al mismo tiempo.

  • Revisar los logs de error de tu servidor periódicamente.

¿Qué pasa si el error aparece solo en el panel de administración?

Si el error aparece solo en el back-office pero la tienda funciona, es probable que sea un problema de permisos del usuario MySQL. Verifica que el usuario tiene permisos completos sobre la base de datos.

¿Necesito contactar con mi proveedor de hosting?

Si has seguido todos los pasos y el error persiste, sí. A veces el problema está en el servidor (por ejemplo, el servicio MySQL no funciona correctamente). Tu proveedor puede reiniciar el servicio o revisar los logs del servidor.


Conclusión

El error "No database selected" en PrestaShop con DirectAdmin puede parecer aterrador, pero en la mayoría de los casos es un problema de configuración que puedes resolver tú mismo siguiendo estos pasos. Recuerda siempre verificar los tres elementos clave: nombre de la base de datos, usuario y contraseña en el archivo parameters.php.

La clave está en ser metódico y no saltarte pasos. Si has llegado hasta aquí, ya tienes el conocimiento necesario para solucionarlo. Y si te has quedado atascado en algún punto, no dudes en revisar la documentación de PrestaShop o contactar con un profesional.

Espero que este artículo te haya sido de gran ayuda. Ahora ve y arregla esa tienda, que tus clientes te están esperando. ¡Mucha suerte!

¿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