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

Cómo solucionar el error 'mysqli_connect()' en WordPress y PrestaShop

Actualizado el 15 de junio de 2026

¿Qué significa el error mysqli_connect() y por qué es tan común?

Si estás leyendo esto, es muy probable que hayas visto un mensaje parecido a este en tu pantalla: "Error establishing a database connection" o un texto más técnico como "mysqli_connect(): Access denied for user...". No te preocupes, no eres el único. Este es uno de los errores más frecuentes en WordPress y PrestaShop, y la buena noticia es que, en la mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo.

El error mysqli_connect() es un aviso de PHP que indica que tu sitio web no puede conectarse a la base de datos MySQL. Sin esa conexión, tu WordPress o tu PrestaShop no pueden funcionar, porque toda la información (posts, productos, clientes, configuraciones) se guarda en esa base de datos.

Las causas pueden ser muy variadas: desde una contraseña mal escrita en un archivo de configuración, hasta un problema con el servidor de bases de datos o un ataque de fuerza bruta. En esta guía, te voy a explicar paso a paso, y en un lenguaje muy claro, cómo diagnosticar y solucionar este problema, tanto en WordPress como en PrestaShop. Vamos a ello.

Primeros pasos: respira y verifica lo básico

Antes de ponernos técnicos, hay que hacer una comprobación rápida. A veces el error no es un fallo real, sino un simple bloqueo temporal.

¿El error es general o solo en tu web?

Prueba a entrar en el panel de control de tu hosting (cPanel, Plesk, Syspanel, etc.). Si el panel de control también te da error o tarda mucho en cargar, el problema puede ser del servidor en general, no de tu sitio. En ese caso, contacta con tu proveedor de hosting.

[WARNING] Si tu proveedor de hosting está haciendo mantenimiento o tiene una caída, no podrás solucionarlo por tu cuenta. Espera un poco y vuelve a intentarlo.

Reinicia tu conexión y prueba desde otro dispositivo

A veces, un simple error de caché en tu navegador o un problema de red local puede dar un falso positivo. Prueba a abrir tu web desde el móvil con los datos móviles (sin WiFi) o desde otro ordenador. Si el error persiste, sigue con esta guía.

Solucionar el error mysqli_connect() en WordPress

WordPress es muy claro con este error. Verás un mensaje que dice: "Error establishing a database connection". Vamos a las causas más comunes y sus soluciones.

1. Revisa el archivo wp-config.php (la causa más común)

Este es el archivo donde WordPress guarda los datos de acceso a tu base de datos. A menudo, tras una migración o un cambio de contraseña en el hosting, estos datos quedan desactualizados.

Cómo hacerlo:

  1. Accede a tu hosting mediante el Administrador de Archivos del panel de control (cPanel, Syspanel, etc.) o mediante un cliente FTP como FileZilla.
  2. Busca la carpeta raíz de tu WordPress (donde están carpetas como wp-admin, wp-content y wp-includes).
  3. Localiza el archivo llamado wp-config.php. No lo abras con doble clic, es mejor usar el editor de texto del propio panel o descargarlo y editarlo con un editor como Notepad++.
  4. Busca las líneas que definen la conexión a la base de datos. Son similares a estas:
define( 'DB_NAME', 'nombre_de_tu_basededatos' );
define( 'DB_USER', 'nombre_de_usuario' );
define( 'DB_PASSWORD', 'tu_contraseña' );
define( 'DB_HOST', 'localhost' );
  1. Verifica que estos datos sean exactamente los que te proporcionó tu hosting. Es muy común equivocarse con el DB_HOST. A veces no es localhost, sino algo como mysql.servidor.com o localhost:3306.
  2. Si tienes dudas, entra en el panel de tu hosting y busca la sección de "Bases de datos MySQL". Allí verás el nombre de la base, el usuario y podrás restablecer la contraseña. Asegúrate de usar esa misma contraseña en el archivo.

[TIP] Si has cambiado la contraseña de la base de datos desde el panel de control, debes actualizarla también en wp-config.php. Si no, el error será inmediato.

2. Revisa que el servidor de bases de datos esté activo

A veces el error mysqli_connect() aparece porque el servicio de MySQL se ha detenido o está saturado.

Cómo hacerlo:

  1. Entra en el panel de control de tu hosting.
  2. Busca la sección de "Servicios", "Procesos" o "MySQL".
  3. Verifica que el servicio de MySQL (o MariaDB) esté "Running" o "Activo". Si no lo está, intenta iniciarlo. Si no puedes, contacta con soporte.

[INFO] En algunos paneles como Syspanel, esta opción está dentro de la sección de "Bases de datos". Si usas Syspanel, recuerda que el acceso a este panel es a través del puerto 2106 (por ejemplo, https://tudominio.com:2106).

3. Comprueba si hay un plugin o tema conflictivo

A veces, un plugin mal codificado o un tema modificado pueden provocar este error, especialmente después de una actualización.

Cómo hacerlo:

  1. Accede a tu hosting y renombra la carpeta wp-content/plugins a wp-content/plugins_old. Esto desactivará todos los plugins de golpe.
  2. Prueba a cargar tu web. Si funciona, el problema era un plugin.
  3. Para encontrar el culpable, ve renombrando los plugins de uno en uno (de nombre-plugin a nombre-plugin_old) y probando la web hasta que encuentres el que da el error.
  4. Si el error persiste con los plugins desactivados, renombra la carpeta del tema que estés usando (dentro de wp-content/themes) para volver al tema por defecto de WordPress.

[WARNING] Al renombrar la carpeta de tu tema, perderás la personalización visual hasta que lo reviertas. Hazlo solo como prueba de diagnóstico.

4. Aumenta el límite de memoria de PHP

Aunque es menos común, un límite de memoria muy bajo puede provocar fallos en la conexión a la base de datos, especialmente si tu sitio es grande.

Cómo hacerlo:

  1. Edita el archivo wp-config.php de nuevo.
  2. Añade esta línea justo antes del comentario final (el que dice "Eso es todo, ¡diviértete!"):
    define('WP_MEMORY_LIMIT', '256M');
  3. Guarda el archivo y prueba de nuevo.

Solucionar el error mysqli_connect() en PrestaShop

En PrestaShop, el error suele ser más específico y puede aparecer un mensaje como: "Link to database cannot be established" o un error de conexión con la base de datos en la propia tienda.

1. Revisa el archivo parameters.php

A diferencia de WordPress, PrestaShop guarda la configuración de la base de datos en un archivo llamado parameters.php. Está en la ruta app/config/ dentro de tu instalación.

Cómo hacerlo:

  1. Accede a tu hosting y navega a la carpeta app/config.
  2. Abre el archivo parameters.php.
  3. Busca la sección 'database_host', 'database_name', 'database_user' y 'database_password'.
  4. Verifica que los datos son correctos. Al igual que en WordPress, presta mucha atención al 'database_host'. Si no sabes cuál es, prueba con localhost o con el que te indique tu hosting.

[TIP] Si has migrado tu tienda a otro servidor, es obligatorio actualizar este archivo con los nuevos datos de la base de datos.

2. Limpia la caché de PrestaShop

A veces, PrestaShop guarda en caché la configuración antigua y aunque hayas corregido los datos, sigue mostrando el error.

Cómo hacerlo:

  1. Accede a tu hosting y abre la carpeta var/cache (en versiones antiguas de PrestaShop, era la carpeta cache).
  2. Borra todo el contenido de esa carpeta, pero no borres la carpeta en sí.
  3. También puedes intentar borrar la carpeta cache dentro de la raíz de tu PrestaShop, si existe.

[WARNING] Al borrar la caché, tu tienda puede ir un poco más lenta la primera vez que se cargue, pero es normal. Se regenerará sola.

3. Verifica los permisos de los archivos

Un problema de permisos en los archivos de configuración puede impedir que PrestaShop lea correctamente los datos de conexión.

Cómo hacerlo:

  1. En el Administrador de Archivos de tu hosting, busca el archivo parameters.php.
  2. Haz clic derecho sobre él y selecciona "Permisos" o "Cambiar permisos".
  3. Asegúrate de que tenga permisos 644 (que el propietario pueda leer y escribir, y el resto solo leer). Si no sabes cómo, selecciona la opción que ponga "644" o "Lectura y escritura para el propietario, solo lectura para el resto".

4. Comprueba la versión de PHP

PrestaShop es más sensible a las versiones de PHP que WordPress. Si tu hosting ha actualizado la versión de PHP y tu PrestaShop es antiguo, puede dar errores de conexión.

Cómo hacerlo:

  1. Entra en el panel de control de tu hosting.
  2. Busca la sección de "Gestión de PHP" o "Selector de versión de PHP".
  3. Si tienes una versión de PHP muy alta (como 8.2 o 8.3) y tu PrestaShop es de hace más de 3 años, prueba a cambiar a una versión inferior, como 7.4 o 8.0.
  4. Guarda los cambios y prueba de nuevo.

Soluciones avanzadas y preguntas frecuentes (FAQ)

A veces, los pasos anteriores no son suficientes. Aquí tienes algunas soluciones más técnicas y las preguntas que más nos hacen en soporte.

¿Qué hago si el error mysqli_connect() aparece después de una migración?

Es el caso más típico. Al mover tu web a un nuevo hosting, los datos de la base de datos cambian. La solución es exactamente la que hemos visto: actualizar wp-config.php (en WordPress) o parameters.php (en PrestaShop) con los datos del nuevo servidor.

[INFO] Si no encuentras estos archivos, es posible que estén ocultos. En el Administrador de Archivos, busca una opción para "Mostrar archivos ocultos" (suele ser un botón o una casilla de verificación). En FTP, puedes usar el comando LIST -a o configurar tu cliente para que muestre archivos ocultos.

¿El error puede deberse a un ataque de fuerza bruta?

Sí. Si un atacante intenta acceder a tu base de datos muchas veces, el servidor puede bloquear temporalmente las conexiones, causando el error mysqli_connect().

Qué puedes hacer:

  1. Contacta con tu hosting y pregunta si hay algún bloqueo activo por intentos fallidos.
  2. Cambia la contraseña de la base de datos y del usuario de la misma desde el panel de control.
  3. Actualiza la contraseña en el archivo de configuración correspondiente.
  4. Considera usar un plugin de seguridad (como Wordfence en WordPress) para evitar futuros ataques.

¿Y si el error es intermitente (aparece y desaparece)?

Esto suele indicar un problema de saturación del servidor. Si tu base de datos está llegando a su límite de conexiones simultáneas, el servidor rechazará nuevas conexiones.

Qué puedes hacer:

  1. Contacta con tu hosting y pregunta por el límite de conexiones simultáneas.
  2. Si tienes muchos plugins o módulos que hacen consultas constantes a la base de datos, intenta desactivar los que no uses.
  3. Considera aumentar el límite de conexiones o contratar un plan superior si tu tráfico ha crecido mucho.

¿Puedo solucionar este error desde phpMyAdmin?

PhpMyAdmin es una herramienta para gestionar tu base de datos, pero no sirve para arreglar el error de conexión directamente. Sin embargo, puedes usarlo para verificar que tu base de datos existe y no está corrupta.

  1. Entra en phpMyAdmin desde el panel de tu hosting.
  2. En el panel izquierdo, deberías ver el nombre de tu base de datos. Si no la ves, el error es porque la base de datos no existe o el nombre es incorrecto.
  3. Si la ves, haz clic en ella y luego en la pestaña "Exportar". Haz una copia de seguridad por si acaso.

¿Debo contactar con mi proveedor de hosting?

Si has seguido todos los pasos de esta guía y el error persiste, sí, es hora de contactar con tu proveedor de hosting. Ellos tendrán acceso a los logs del servidor y podrán ver el error exacto que se está produciendo. Dales toda la información que tengas: qué pasos has seguido, qué mensaje exacto te aparece y desde cuándo tienes el problema.

[TIP] Cuando contactes con soporte, no digas solo "tengo un error de base de datos". Diles el mensaje completo que ves en pantalla. Por ejemplo: mysqli_connect(): Access denied for user 'usuario'@'localhost' (using password: YES). Esto les ayudará a diagnosticar mucho más rápido.

Resumen: un plan de acción rápido

Para que no te pierdas, aquí tienes un resumen de los pasos a seguir en orden:

  1. Verifica si el problema es general (¿tu hosting funciona?).
  2. Comprueba los datos de conexión en wp-config.php (WordPress) o parameters.php (PrestaShop).
  3. Reinicia el servicio de MySQL desde el panel de control.
  4. Desactiva plugins o módulos para descartar conflictos.
  5. Limpia la caché de tu CMS.
  6. Revisa los permisos de los archivos de configuración.
  7. Contacta con soporte si nada de esto funciona.

Espero que esta guía te haya sido de gran ayuda. Recuerda que los errores de base de datos son frustrantes, pero casi siempre tienen solución. Si te ha quedado alguna duda, déjala en los comentarios y estaremos encantados de ayudarte. ¡Buena suerte con tu web!

¿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