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

Cómo solucionar el error 'Table doesn't exist' en PrestaShop con cPanel

Actualizado el 25 de octubre de 2025

¡Hola! Soy tu técnico de soporte amigable. 😊 Hoy vamos a resolver juntos un error muy común pero que puede asustar si no sabes por dónde empezar: el famoso "Table doesn't exist" en PrestaShop.

Este error suele aparecer cuando navegas por tu tienda o intentas acceder al panel de administración. Verás un mensaje como: "Table 'nombrebasededatos.ps_product' doesn't exist" o algo similar. No te preocupes, no has perdido tu tienda. Es un problema de base de datos que, con las herramientas adecuadas, tiene solución.

En este artículo, aprenderás paso a paso cómo diagnosticar y reparar este error usando cPanel. También te daré trucos para que no vuelva a ocurrir. Vamos allá.


¿Qué significa exactamente "Table doesn't exist"?

Cuando PrestaShop intenta acceder a una tabla de la base de datos (por ejemplo, la tabla ps_product que guarda tus productos) y no la encuentra, lanza este error. Las causas más comunes son:

  • Corrupción de la tabla: Un cierre inesperado del servidor, un plugin conflictivo o un fallo en la actualización pueden dañar la tabla.
  • Eliminación accidental: Al limpiar la base de datos, alguien pudo borrar tablas sin querer.
  • Problemas de engine: Tablas que usan MyISAM o InnoDB pueden corromperse si el servidor se apaga mal.
  • Migración incompleta: Si moviste tu tienda a otro hosting y la base de datos no se importó correctamente.
  • Actualización fallida: Al actualizar PrestaShop, algunas tablas pueden no crearse bien.

[INFO] El error suele ser parcial. No todas las tablas están perdidas, solo una o varias. Esto es clave: tu tienda aún existe, solo necesita una reparación quirúrgica.


Paso 1: Identificar qué tabla falla exactamente

Lo primero es saber qué tabla está causando el problema. El mensaje de error te lo dice claramente. Por ejemplo:

  • Table 'midb.ps_product' doesn't exist
  • Table 'midb.ps_cart' doesn't exist
  • Table 'midb.ps_orders' doesn't exist

Anota el nombre exacto de la tabla (normalmente empieza con ps_ o el prefijo que hayas definido). También fíjate en el nombre de la base de datos (en el ejemplo, midb).

Si el error aparece en blanco o no ves el detalle, puedes activar el modo debug de PrestaShop:

  1. Abre el archivo /config/defines.inc.php de tu tienda (desde el Administrador de Archivos de cPanel).
  2. Busca la línea: define('_PS_MODE_DEV_', false);
  3. Cámbiala a: define('_PS_MODE_DEV_', true);
  4. Guarda y recarga la página. Ahora verás el error completo.

[WARNING] No dejes el modo debug activado en producción. Una vez resuelto el error, vuelve a poner false. Si no, expones información sensible.


Paso 2: Acceder a phpMyAdmin desde cPanel

Para reparar la tabla, necesitamos entrar en la base de datos. cPanel incluye una herramienta llamada phpMyAdmin. Así accedes:

  1. Inicia sesión en tu cPanel (normalmente tudominio.com/cpanel).
  2. Busca la sección Bases de Datos y haz clic en phpMyAdmin.
  3. Se abrirá una nueva pestaña. A la izquierda verás una lista de bases de datos. Haz clic en la que usa tu PrestaShop (la que aparecía en el error).
  4. Verás todas las tablas de tu tienda. Localiza la que falla (por ejemplo, ps_product).

[TIP] Si no ves la base de datos, revisa que hayas seleccionado la correcta en el menú desplegable de la izquierda.


Paso 3: Reparar la tabla con la opción "Reparar tabla"

phpMyAdmin tiene una función mágica para esto. Sigue estos pasos:

  1. Selecciona la tabla problemática haciendo clic en su nombre (a la izquierda).
  2. En la parte inferior de la pantalla (o en el menú de pestañas), busca la pestaña Operaciones.
  3. Dentro de Operaciones, busca la sección Mantenimiento de tablas.
  4. Haz clic en Reparar tabla.
  5. phpMyAdmin ejecutará el comando REPAIR TABLE. Verás un mensaje como "La tabla se ha reparado correctamente".

Si la reparación es exitosa, el error desaparecerá. Vuelve a tu tienda y recarga la página.

[WARNING] Si la tabla está muy dañada, la reparación puede fallar. No te preocupes, aún tenemos opciones.


Paso 4: Si la reparación falla, intenta con "Forzar reparación"

A veces la reparación simple no basta. Podemos forzarla:

  1. Ve a la pestaña SQL en phpMyAdmin (suele estar arriba).
  2. En el cuadro de texto, escribe manualmente:
    REPAIR TABLE nombre_de_la_tabla;
    
    (Sustituye nombre_de_la_tabla por el nombre real, ej. ps_product).
  3. Haz clic en Continuar.
  4. phpMyAdmin te mostrará el resultado. Si dice "OK", problema resuelto.

Si esto tampoco funciona, podemos intentar una reparación más profunda con mysqlcheck desde la línea de comandos (pero no te asustes, es fácil).


Paso 5: Reparar desde la línea de comandos (SSH) o usando el Terminal de cPanel

cPanel tiene un acceso a terminal llamado Terminal (en la sección Avanzado). Si tu hosting lo permite, puedes usarlo. Si no, pídele a tu proveedor que ejecute estos comandos.

  1. Abre el Terminal de cPanel (o conéctate por SSH).
  2. Escribe el siguiente comando:
    mysqlcheck -u usuario_bd -p nombre_base_datos --auto-repair
    
    Te pedirá la contraseña de la base de datos. Escríbela y presiona Enter.
  3. Este comando revisará todas las tablas y reparará las que encuentre dañadas.

[INFO] Si no sabes el usuario o contraseña de la base de datos, puedes encontrarlos en el archivo /app/config/parameters.php de tu PrestaShop. Búscalos con el Administrador de Archivos de cPanel.


Paso 6: Restaurar la tabla desde una copia de seguridad

Si la reparación no funciona, la tabla está realmente perdida. Pero no todo está perdido: si tienes una copia de seguridad reciente, puedes restaurar solo esa tabla.

  1. En phpMyAdmin, selecciona tu base de datos.
  2. Ve a la pestaña Importar.
  3. Elige el archivo .sql de tu copia de seguridad.
  4. Importante: Antes de importar, asegúrate de que la copia de seguridad incluya la tabla que falta. Si no, no servirá.
  5. Haz clic en Continuar.

Si no tienes copia de seguridad, aún puedes regenerar la tabla desde el instalador de PrestaShop (pero perderás los datos de esa tabla). Esto solo es recomendable si la tabla no contiene datos críticos (como ps_connections o ps_guest).


Paso 7: Recrear la tabla desde cero (solución avanzada)

Como último recurso, puedes crear la tabla manualmente. Necesitas la estructura exacta de la tabla. Puedes obtenerla de una instalación limpia de PrestaShop de la misma versión.

  1. Descarga una copia limpia de PrestaShop (misma versión que tu tienda).
  2. Busca el archivo install/sql/ y localiza el esquema de la tabla (por ejemplo, ps_product.sql).
  3. Copia el contenido SQL.
  4. En phpMyAdmin, ve a la pestaña SQL y pega el código.
  5. Ejecuta.

[WARNING] Este método solo crea la estructura vacía. Los datos anteriores se pierden. Si la tabla contenía productos, pedidos o clientes, mejor intenta restaurar desde backup.


Prevención: cómo evitar que vuelva a pasar

Una vez resuelto el error, toma estas medidas para que no se repita:

  • Activa las copias de seguridad automáticas en cPanel. Ve a Backup o JetBackup (según tu hosting) y programa copias diarias.
  • Revisa los plugins: Los módulos de PrestaShop mal codificados pueden corromper tablas. Desactiva los que no uses.
  • Mantén PrestaShop actualizado: Las versiones antiguas tienen bugs que dañan la base de datos.
  • Usa un engine de tabla robusto: En phpMyAdmin, puedes cambiar el engine de MyISAM a InnoDB (más fiable). Hazlo desde la pestaña OperacionesEngine.
  • Evita cortes de energía: Si tu servidor se apaga repentinamente, las tablas pueden dañarse. Un hosting de calidad minimiza esto.

FAQ: Preguntas frecuentes sobre el error "Table doesn't exist"

¿Puedo perder mi tienda si no reparo la tabla?

Sí, si la tabla es crítica (productos, pedidos, clientes), tu tienda dejará de funcionar correctamente. Pero con los pasos de este artículo, tienes alta probabilidad de recuperarla.

¿El error afecta a todas las páginas?

No. Solo las páginas que usan esa tabla. Por ejemplo, si falla ps_product, la página de catálogo no cargará, pero el carrito puede funcionar.

¿Puedo usar un plugin para reparar la base de datos?

Existen módulos como "DB Repair Tool", pero no los recomiendo si no sabes lo que haces. Es mejor usar phpMyAdmin.

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

Revisa que la base de datos se haya importado completamente. Puede faltar alguna tabla. Repite la importación con un archivo completo.

¿Syspanel (HestiaCP) tiene herramientas similares?

Si tu hosting usa Syspanel (antes llamado HestiaCP, acceso por puerto 2106), también tiene phpMyAdmin. Accede desde el panel de control de Syspanel, en la sección de bases de datos. Los pasos son idénticos.


Conclusión

El error "PrestaShop table doesn't exist" suena aterrador, pero es uno de los problemas más fáciles de resolver si sabes cómo usar cPanel y phpMyAdmin. Recuerda:

  1. Identifica la tabla que falla.
  2. Repara con phpMyAdmin.
  3. Si falla, usa la línea de comandos o restaura desde backup.
  4. Toma medidas preventivas.

Si después de todo esto el error persiste, contacta a tu proveedor de hosting. Ellos pueden acceder al servidor y hacer reparaciones más profundas.

Espero que este artículo te haya sido de ayuda. Si tienes dudas, déjalas en los comentarios (si tu web los permite) o contacta con nuestro soporte. ¡Tu tienda volverá a funcionar en minutos! 🚀

[TIP] Guarda este artículo en favoritos. Te será útil si vuelve a ocurrir. ¡Y no olvides hacer backup antes de cualquier cambio importante!

¿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