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

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

Actualizado el 2 de marzo de 2026

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

Cuando tu tienda PrestaShop se queda en blanco o muestra un mensaje como "Error de conexión con la base de datos" o un texto técnico que menciona mysqli_connect(), significa que tu sitio no puede comunicarse con la base de datos MySQL.

Piensa en la base de datos como el almacén donde PrestaShop guarda todos tus productos, clientes, pedidos y configuración. Si la conexión falla, la tienda no puede cargar nada.

Este error es muy común tras mover el sitio a otro servidor, cambiar la contraseña de la base de datos, o cuando el servidor de MySQL se cae. La buena noticia es que en el 90% de los casos tiene una solución sencilla que puedes aplicar tú mismo sin ser un experto.


Antes de empezar: identifica el tipo de error

No todos los errores mysqli_connect() son iguales. Según lo que veas, sabrás por dónde tirar:

Error genérico: "Error de conexión con la base de datos"

Este es el más común. Aparece una pantalla blanca con ese texto o un mensaje similar. Indica que PrestaShop no encuentra la base de datos o las credenciales son incorrectas.

Error con detalles técnicos (como Access denied for user)

Si ves un mensaje largo que incluye mysqli_connect(): Access denied for user 'usuario'@'localhost', significa que el usuario o la contraseña de la base de datos son incorrectos.

Error de servidor no encontrado (como Unknown database o Connection refused)

Si el mensaje menciona que no encuentra el servidor o que la conexión fue rechazada, el problema puede estar en la dirección del servidor de base de datos o en que el servicio MySQL está caído.


Solución paso a paso para el error mysqli_connect() en PrestaShop

Paso 1: Verifica que tu servidor MySQL esté activo

Antes de tocar nada, comprueba que el servicio de base de datos esté funcionando. Esto es lo primero que debes hacer, porque si el servidor está caído, ninguna otra solución funcionará.

Si tienes acceso a un panel de control como Syspanel (recuerda que se accede por el puerto 2106), puedes revisar el estado de los servicios desde la sección de "Servicios" o "Bases de datos".

También puedes probar desde la terminal si tienes acceso SSH. Escribe:

systemctl status mysql

O si usas MariaDB:

systemctl status mariadb

Si el servicio no está activo, inícialo con:

sudo systemctl start mysql

[TIP] Si usas un hosting compartido, no tendrás acceso a la terminal. En ese caso, contacta con el soporte de tu proveedor y pregunta si el servicio MySQL está operativo.


Paso 2: Revisa el archivo de configuración parameters.php

PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado parameters.php. Si este archivo tiene datos incorrectos, el error mysqli_connect() aparecerá de inmediato.

Para encontrarlo, accede a tu servidor por FTP o desde el administrador de archivos de tu hosting. La ruta suele ser:

/config/parameters.php

Ábrelo con un editor de texto (como Notepad++ o el editor del propio panel) y busca estas líneas:

'database_host' => 'localhost',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',

Comprueba que los valores sean correctos. Los datos de la base de datos los puedes encontrar en el panel de control de tu hosting o en Syspanel, en la sección de "Bases de datos MySQL".

[WARNING] Ten mucho cuidado al editar este archivo. Un error de sintaxis (como una comilla mal puesta) puede romper toda la tienda. Si no estás seguro, haz una copia de seguridad antes de modificarlo.


Paso 3: Cambia la contraseña de la base de datos (si es necesario)

Si sospechas que la contraseña es incorrecta, lo más fácil es cambiarla desde tu panel de control. En Syspanel (puerto 2106), ve a la sección de bases de datos, selecciona tu base de datos y elige la opción de "Cambiar contraseña".

Después de cambiar la contraseña, actualiza el archivo parameters.php con la nueva contraseña.

[INFO] Algunos proveedores de hosting no permiten usar caracteres especiales como $, # o % en las contraseñas de bases de datos. Si usas estos caracteres y tienes problemas, prueba con una contraseña alfanumérica simple.


Paso 4: Verifica el host de la base de datos

El valor database_host suele ser localhost en la mayoría de los casos, pero no siempre. En algunos servidores, especialmente en hosting compartidos o VPS con paneles como Syspanel, el host puede ser algo como:

  • 127.0.0.1
  • localhost
  • mysql.tudominio.com
  • localhost:/var/run/mysqld/mysqld.sock

Si tu proveedor te ha dado una dirección específica para la base de datos, úsala. En caso de duda, localhost es la opción más segura y la más común.

[TIP] Si estás en un VPS con Syspanel, revisa la sección de bases de datos del panel. Ahí verás la dirección exacta del servidor MySQL que debes usar.


Paso 5: Comprueba los permisos del usuario de la base de datos

A veces las credenciales son correctas, pero el usuario no tiene permisos para acceder a la base de datos. Esto pasa mucho cuando se importa una base de datos desde otro servidor.

Desde Syspanel (puerto 2106), en la sección de bases de datos, verifica que el usuario que usa PrestaShop tenga todos los privilegios sobre la base de datos. Debería tener permisos de SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP.

Si no sabes cómo hacerlo, la forma más rápida es eliminar el usuario y volver a crearlo con todos los privilegios. Luego actualiza parameters.php con las nuevas credenciales.


Paso 6: Limpia la caché de PrestaShop

A veces el error mysqli_connect() persiste aunque la configuración sea correcta porque PrestaShop guarda en caché los datos de conexión antiguos.

Para limpiar la caché manualmente, elimina el contenido de la carpeta /var/cache de tu instalación de PrestaShop. Puedes hacerlo por FTP o desde el administrador de archivos.

Dentro de /var/cache encontrarás subcarpetas como dev, prod o cache. Bórralas todas, pero no elimines la carpeta var/cache en sí. PrestaShop la recreará automáticamente.

[WARNING] Antes de borrar nada, asegúrate de estar en la carpeta correcta. No borres la carpeta var completa, solo la subcarpeta cache.


Paso 7: Revisa los logs de error

Si después de todos estos pasos el error persiste, necesitas más información. Los logs de error de PrestaShop y del servidor te dirán exactamente qué está fallando.

Los logs de PrestaShop se encuentran en:

/var/logs/

Busca archivos con nombres como prod.log o dev.log. Ábrelos y busca la línea que mencione mysqli_connect().

También puedes revisar los logs del servidor MySQL. Si tienes acceso a Syspanel (puerto 2106), busca la sección de "Logs" o "Registros". Allí verás los errores de MySQL que te indicarán si el problema es de autenticación, de permisos o de conexión.


Soluciones avanzadas para el error mysqli_connect()

Si los pasos anteriores no resuelven el problema, prueba estas soluciones más técnicas.

Solución A: Cambia el método de conexión en parameters.php

Algunos servidores requieren que especifiques el puerto de MySQL en la configuración. Añade esta línea en parameters.php:

'database_port' => '3306',

El puerto por defecto de MySQL es el 3306. Si tu servidor usa otro puerto, cambia el número.

Solución B: Revisa el archivo .htaccess

Un .htaccess corrupto puede causar errores extraños. Renombra el archivo .htaccess a .htaccess_old y recarga tu tienda. PrestaShop generará uno nuevo automáticamente.

Solución C: Verifica el tipo de conexión en parameters.php

PrestaShop permite usar mysqli o PDO para conectarse a la base de datos. A veces cambiar el tipo de conexión soluciona el error.

Busca esta línea en parameters.php:

'database_engine' => 'InnoDB',

Y asegúrate de que exista esta otra:

'database_driver' => 'PDO',

Si no existe, añádela. Si el error persiste, cambia PDO por mysqli.

[INFO] En versiones antiguas de PrestaShop (1.6 y anteriores), la configuración se encuentra en el archivo config/settings.inc.php en lugar de parameters.php. El proceso es el mismo, solo cambia el archivo.


Cómo prevenir el error mysqli_connect() en el futuro

La mejor solución es la prevención. Sigue estos consejos para evitar que este error vuelva a aparecer:

  1. Haz copias de seguridad periódicas de tu base de datos y de los archivos de configuración.
  2. Anota las credenciales de tu base de datos en un lugar seguro.
  3. No cambies la contraseña de la base de datos sin actualizar inmediatamente parameters.php.
  4. Mantén PrestaShop actualizado a la última versión. Las versiones antiguas tienen bugs conocidos con la conexión a MySQL.
  5. Evita usar caracteres especiales en las contraseñas de las bases de datos.
  6. Revisa los logs de tu servidor al menos una vez al mes para detectar problemas antes de que afecten a tu tienda.

Preguntas frecuentes sobre el error mysqli_connect() en PrestaShop

¿Por qué aparece este error después de mover mi tienda a otro hosting?

Porque las credenciales de la base de datos cambian. Debes actualizar el archivo parameters.php con los nuevos datos de tu proveedor de hosting.

¿Puedo perder mis datos si cambio la contraseña de la base de datos?

No. Cambiar la contraseña no afecta a los datos. Solo cambia la forma de acceder a ellos. Eso sí, actualiza parameters.php inmediatamente después.

¿El error tiene algo que ver con el certificado SSL?

No, el error mysqli_connect() es exclusivamente de la conexión con la base de datos. No tiene relación con SSL ni con la seguridad de tu dominio.

¿Necesito ser un experto para arreglarlo?

No. La mayoría de las soluciones de este artículo son accesibles para cualquier persona con acceso al panel de control de su hosting. Solo necesitas paciencia y seguir los pasos en orden.

¿Qué hago si nada de esto funciona?

Si has probado todos los pasos y el error persiste, contacta con el soporte técnico de tu hosting. Ellos tienen acceso directo al servidor y pueden diagnosticar el problema en minutos. Asegúrate de darles la siguiente información:

  • Mensaje de error completo.
  • Versión de PrestaShop que usas.
  • Si el error aparece desde el principio o después de algún cambio.
  • Captura de pantalla si es posible.

Conclusión

El error mysqli_connect() en PrestaShop es frustrante, pero casi siempre tiene solución. La clave está en revisar, en orden, el estado del servidor, las credenciales de la base de datos y la configuración del archivo parameters.php.

Recuerda que la paciencia es tu mejor aliada. Ve paso a paso, sin saltarte ninguno, y en la mayoría de los casos tu tienda volverá a funcionar en menos de 30 minutos.

Si te has quedado atascado en algún paso, vuelve a leer la sección correspondiente y asegúrate de haberla seguido correctamente. Y si todo falla, no dudes en pedir ayuda a tu proveedor de hosting: para eso está su servicio de soporte.

[TIP] Guarda este artículo en tus favoritos. El error mysqli_connect() puede aparecer en cualquier momento, y tener esta guía a mano te ahorrará muchos quebraderos de cabeza.

¿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