DEBUG FASE 2: Identificados problemas críticos en GetRow()

PROBLEMAS CRÍTICOS IDENTIFICADOS:
⚠️ GetRow() devuelve null siempre → empresaId = 0
⚠️ Warnings PHP en util.class.php:501 (acceso arrays nulos)
⚠️ Compatibilidad MockDatabase vs mysqli real

DATOS REALES ENCONTRADOS:
 admin@novomoda.com.mx → empresaId = 1
 sonia.velezquez@novomoda.com.mx → empresaId = 15
 gerente@novomoda.com.mx → empresaId = 15

ARCHIVOS NUEVOS:
- debug_login.php → Debug de base de datos master
- test_login_reales.php → Test con usuarios reales

ANÁLISIS:
- Usuarios existen en BD master
- Consultas SQL funcionan en debug
- GetRow() falla en DoLogin()

SIGUIENTE PASO: Revisar GetRow() en DB.class.php
This commit is contained in:
2026-01-07 18:43:28 -06:00
parent ee4945578e
commit 3b5bd9c0e9
9 changed files with 472 additions and 21 deletions

View File

@@ -113,7 +113,39 @@ El login debe:
- Ajustar compatibilidad en consulta SQL
- Corregir manejo de nulos
## Problemas Críticos Identificados - Fase 2
### 🚨 Issue Principal: GetRow() devuelve NULL
- **Problema**: Método GetRow() en DB.class.php devuelve null
- **Causa**: Incompatibilidad entre MockDatabase y mysqli real
- **Impacto**: Login obtiene empresaId = 0 siempre
### 🔍 Análisis del Problema
1. **Debug login**: Usuarios reales existen en base de datos master
2. **Consulta SQL**: SELECT con email/password funciona en debug
3. **GetRow()**: En DoLogin() devuelve null siempre
4. **Warnings**: Acceso a arrays nulos en util.class.php:501
### 📊 Datos Reales Encontrados
```
ID: 1, Email: admin@novomoda.com.mx, EmpresaID: 1 → Test OK
ID: 4, Email: sonia.velezquez@novomoda.com.mx, EmpresaID: 15 → Test OK
ID: 5, Email: gerente@novomoda.com.mx, EmpresaID: 15 → Test OK
```
### 🛠️ Próximos Pasos Requeridos
1. **Depurar GetRow()**: Revisar por qué devuelve null
2. **Fix MockDatabase**: Asegurar compatibilidad con métodos antiguos
3. **Probar con BD real**: Conectar a base de datos real
4. **Revisar util.class.php**: Corregir warnings línea 501
### ✅ Logros Parciales
- ✅ Eliminado hardcodeo empresaId = 15
- ✅ Implementada lógica de BD dinámica
- ✅ Sistema reconoce usuarios reales
- ⚠️ Fija: GetRow() devuelve valores correctos
---
**Estado**: Fase 2 en progreso - Problemas de compatibilidad detectados
**Estado**: Fase 2 con bloqueo crítico - GetRow() devuelve null
**Creado**: 07-01-2026
**Última actualización**: 07-01-2026