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

Cómo corregir el error 'mysqli_connect()' en PrestaShop

Actualizado el 23 de diciembre de 2025

¿Qué significa el error mysqli_connect() en PrestaShop?

Cuando intentas abrir tu tienda online o el panel de administración y te encuentras con un mensaje que menciona mysqli_connect() o un fallo en la conexión a la base de datos, es normal que salten las alarmas. Este error es uno de los más comunes en PrestaShop y, aunque parezca muy técnico, te aseguro que en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo.

El error mysqli_connect prestashop indica que tu tienda no puede comunicarse con la base de datos MySQL donde se almacenan todos tus productos, pedidos, clientes y configuraciones. Sin esa conexión, PrestaShop no puede funcionar.

A lo largo de esta guía, vamos a desglosar qué significa exactamente este error, por qué ocurre y, lo más importante, cómo puedes corregirlo paso a paso, incluso si no tienes mucha experiencia técnica. Vamos a ello.

¿Por qué aparece el error de conexión a la base de datos en PrestaShop?

Antes de lanzarnos a solucionar el problema, es fundamental entender las causas más habituales. El error de base de datos PrestaShop no aparece porque sí; siempre hay una razón detrás. Estas son las más frecuentes:

  1. Credenciales incorrectas: El archivo de configuración de PrestaShop tiene datos de acceso a la base de datos (usuario, contraseña, nombre de la base y servidor). Si alguno de estos datos es incorrecto, la conexión falla.
  2. Cambio de servidor o de proveedor de hosting: Si has migrado tu tienda a un nuevo hosting, es muy probable que los datos de acceso hayan cambiado y no se hayan actualizado correctamente.
  3. La base de datos está caída o sobrecargada: El servidor MySQL puede estar experimentando problemas, estar apagado o tener demasiadas conexiones activas.
  4. Permisos insuficientes: El usuario de la base de datos puede no tener los permisos necesarios para conectarse desde el servidor donde está alojada tu tienda.
  5. Archivos de configuración corruptos: El archivo parameters.php o settings.inc.php (dependiendo de la versión de PrestaShop) puede estar dañado o tener información incompleta.
  6. Problemas con el puerto de conexión: A veces, el servidor MySQL no escucha en el puerto estándar (3306) y la configuración no lo refleja.

Primeros pasos antes de tocar nada

Cuando veas el error mysqli_connect() en pantalla, respira hondo. Antes de modificar archivos o reiniciar servicios, sigue estos pasos iniciales:

1. Comprueba si el problema es general o solo tuyo

A veces, el problema no es de tu tienda, sino del servidor. Puedes verificar si otros sitios web en el mismo hosting funcionan correctamente. Si todos fallan, el problema es del servidor y deberías contactar con tu proveedor de hosting.

2. Revisa el mensaje de error completo

Presta mucha atención al mensaje exacto. Suele decir algo como: "Link to database cannot be established: SQLSTATE[HY000] [1045] Access denied for user..." o "Connection refused". Este texto te dará pistas muy valiosas sobre la causa raíz.

3. Accede a tu panel de control del hosting

Necesitarás acceder a tu panel de control o al gestor de archivos de tu hosting. Si usas un panel como Syspanel (el acceso se realiza a través del puerto 2106), podrás gestionar tus bases de datos y archivos de forma sencilla. Si no sabes cómo acceder, consulta la documentación de tu proveedor.

Solución paso a paso para corregir el error mysqli_connect()

Ahora sí, vamos a la acción. Sigue estos pasos en orden. No te saltes ninguno, ya que cada uno aborda una causa diferente.

Paso 1: Verifica los datos de acceso en el archivo de configuración

El primer lugar donde debemos mirar es el archivo que contiene las credenciales de la base de datos. En PrestaShop 1.7 y versiones superiores, este archivo es app/config/parameters.php. En versiones más antiguas (1.6 y anteriores), es config/settings.inc.php.

Para acceder a él:

  1. Entra en el gestor de archivos de tu hosting o utiliza un cliente FTP como FileZilla.
  2. Navega hasta la carpeta raíz donde está instalada tu tienda.
  3. Busca el archivo parameters.php (o settings.inc.php) y ábrelo con un editor de texto (el bloc de notas vale).

Dentro, verás una estructura similar a esta (en el caso de parameters.php):

'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',

[WARNING] Ten mucho cuidado al editar este archivo. Un error de sintaxis (una coma mal puesta, una comilla sin cerrar) puede provocar que tu tienda muestre una página en blanco. Si no estás seguro, haz una copia de seguridad del archivo antes de modificarlo.

Ahora, compara estos datos con los que tienes en tu panel de control de hosting. Asegúrate de que:

  • El nombre de la base de datos es correcto.
  • El usuario existe y está asignado a esa base de datos.
  • La contraseña es exactamente la misma (respeta mayúsculas y minúsculas).

Si has encontrado alguna discrepancia, corrígela y guarda el archivo. Luego, intenta acceder a tu tienda de nuevo.

[TIP] Si no recuerdas tu contraseña de la base de datos, puedes cambiarla desde el panel de control de tu hosting. Eso sí, tendrás que actualizarla también en este archivo de configuración.

Paso 2: Comprueba que el servidor MySQL está activo

Si los datos son correctos, el siguiente paso es asegurarte de que el servidor de bases de datos está funcionando.

  1. Accede a tu panel de control del hosting (recuerda, si usas Syspanel, el puerto es el 2106).
  2. Busca la sección de "Bases de datos" o "MySQL".
  3. Deberías ver un listado de tus bases de datos y su estado. Si alguna aparece como "detenida" o "inactiva", intenta iniciarla.

Si no tienes acceso a esta información o el servidor sigue sin responder, el problema puede ser del proveedor. Contacta con su soporte técnico y diles que estás recibiendo un error de conexión a la base de datos.

Paso 3: Verifica los permisos del usuario de la base de datos

A veces, el usuario existe y la contraseña es correcta, pero no tiene permisos para acceder a la base de datos desde el servidor de tu tienda. Esto es común después de una migración.

En tu panel de control de hosting:

  1. Ve a la gestión de bases de datos.
  2. Busca la opción de "Usuarios" o "Privilegios".
  3. Asegúrate de que tu usuario tiene todos los privilegios sobre la base de datos de tu tienda (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).

Si no estás seguro de cómo hacer esto, la opción más rápida es eliminar el usuario y volver a asignarlo a la base de datos con todos los privilegios. Luego, actualiza la contraseña y colócala en el archivo de configuración.

Paso 4: Revisa el puerto de conexión

El puerto por defecto para MySQL es el 3306, pero no siempre es así. Algunos servidores usan puertos personalizados por seguridad.

En tu panel de control, busca información sobre el puerto de conexión de tu base de datos. Si es diferente al estándar, deberás actualizar el campo database_port en el archivo parameters.php.

Por ejemplo, si el puerto es el 3307, el código quedaría así:

'database_port' => '3307',

Paso 5: Limpia la caché de PrestaShop

A veces, PrestaShop guarda configuraciones en caché y puede estar usando datos antiguos. Después de hacer cambios en la configuración, es recomendable limpiar la caché.

  1. Accede a tu panel de administración de PrestaShop. Si no puedes acceder, tendrás que hacerlo manualmente.
  2. Si puedes entrar, ve a Parámetros avanzados > Rendimiento y haz clic en "Vaciar la caché".
  3. Si no puedes acceder al panel, tendrás que eliminar manualmente los archivos de caché. Conéctate por FTP y borra el contenido de las carpetas var/cache (en PrestaShop 1.7) o cache (en PrestaShop 1.6). No borres las carpetas, solo su contenido.

Paso 6: Revisa los logs del servidor

Si después de todos estos pasos el error mysqli_connect prestashop persiste, es hora de mirar los registros del servidor. Estos archivos contienen información detallada sobre los errores que ocurren.

  1. En tu panel de control (Syspanel), busca la sección de "Registros" o "Logs".
  2. Busca errores relacionados con MySQL o con tu dominio.
  3. Anota los mensajes de error y, si no los entiendes, pásalos al soporte técnico de tu hosting.

¿Qué hacer si el error persiste?

Si has seguido todos los pasos anteriores y el error de conexión base de datos PrestaShop sigue apareciendo, no desesperes. Hay algunas acciones adicionales que puedes probar:

Restaurar una copia de seguridad reciente

Si tienes una copia de seguridad de tu tienda de cuando funcionaba correctamente, restaurarla puede ser la solución más rápida. Esto revertirá tanto los archivos como la base de datos a un estado anterior.

Comprobar la integridad de los archivos de PrestaShop

Es posible que algún archivo del núcleo de PrestaShop esté corrupto. Puedes descargar una copia limpia de la misma versión de PrestaShop que tienes instalada y reemplazar los archivos dañados. Ten cuidado de no sobrescribir tu configuración o tus módulos.

Contactar con el soporte técnico de tu hosting

Si nada funciona, el problema puede estar en el servidor y no en tu configuración. Contacta con el soporte de tu proveedor y explícales el error que estás viendo. Ellos podrán revisar los logs del servidor y verificar si hay algún problema con el servicio de MySQL.

[INFO] Es importante que cuando contactes con el soporte, les proporciones el mensaje de error exacto que ves en pantalla. Esto les ayudará a diagnosticar el problema mucho más rápido.

Preguntas frecuentes sobre el error mysqli_connect() en PrestaShop

¿Puedo perder mis datos si corrijo este error?

No, siempre que no borres la base de datos. Este error solo impide la conexión, pero tus datos siguen intactos en la base de datos. Los pasos que hemos visto no implican la eliminación de datos.

¿Es necesario ser un experto para solucionar este error?

No, la mayoría de los pasos son sencillos y solo requieren acceder al panel de control de tu hosting y editar un archivo de configuración. Si puedes seguir instrucciones paso a paso, puedes hacerlo.

¿Por qué me aparece este error después de migrar mi tienda?

Es muy común. Al migrar, los datos de acceso a la base de datos suelen cambiar. Lo más probable es que el archivo de configuración no se haya actualizado con los nuevos datos. Revisa el Paso 1 de esta guía.

¿Qué es mysqli?

Es una extensión de PHP que permite conectar con bases de datos MySQL. PrestaShop la utiliza para todas sus operaciones con la base de datos. El error mysqli_connect() simplemente indica que esta conexión ha fallado.

¿El error puede deberse a un ataque informático?

Es poco probable, pero no imposible. Si tu sitio fue hackeado, los archivos de configuración podrían haber sido modificados. Si sospechas de un ataque, revisa todos los archivos en busca de código extraño y cambia todas tus contraseñas.

Consejos finales para evitar futuros errores de conexión

Una vez que hayas solucionado el problema, te recomiendo seguir estos consejos para evitar que vuelva a ocurrir:

  • Mantén tu PrestaShop actualizado: Las versiones más recientes corrigen errores y mejoran la estabilidad.
  • Realiza copias de seguridad periódicas: Tanto de los archivos como de la base de datos. Así, ante cualquier problema, podrás restaurar tu tienda rápidamente.
  • Anota tus credenciales de acceso: Guarda en un lugar seguro el nombre de la base de datos, el usuario y la contraseña. Te será de gran ayuda si necesitas hacer cambios en el futuro.
  • No compartas tus credenciales: Mantén la información de acceso a tu base de datos en secreto para evitar problemas de seguridad.

Espero que esta guía te haya sido de gran ayuda. El error mysqli_connect() puede ser frustrante, pero con paciencia y siguiendo estos pasos, podrás tener tu tienda funcionando de nuevo en poco tiempo. Recuerda que siempre puedes contar con el soporte técnico de tu proveedor de hosting si necesitas ayuda adicional.

¿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