Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2012, 09:28
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 9 meses
Puntos: 2135
Respuesta: problema al pasar de xampp 1.6.4 al 1.8.1

El problema no es de XAMPP, el problema es tu código, tienes dos problemas:

El 1ero, cuando trates de leer un indice de un array, este siempre tiene que ir entre comillas (" o '), y si es numérico un número, es decir:
Código PHP:
Ver original
  1. define('INDICE_CONSTANTE', 'indice');
  2.  
  3. $array = array(
  4.       0 => 'valor en indice 0',
  5.       'indice' => 'valor en "indice"',
  6.       'foo' => 'bar'
  7. );
  8.  
  9. echo $array[0]; // bien es un indice númerico
  10. echo $array[indice]; // mal, indice no es nada (y genera un E_NOTICE)
  11. echo $array[INDICE_CONSTANTE]; // bien ya que INDICE_CONSTANTE es una constante que apunta a 'indice'
  12. echo $array['foo']; // bien

Ahora, el segundo problema, cuando haces echo $array[indice] PHP hace un fallback y dice "creo que el programador quizo decir 'indice' en lugar de indice (constante)" pero ahí es donde viene el problema, si el indice como tal no existe en tu arreglo, te genera el E_NOTICE, entonces siempre debes de comparar que exista el indice al que quieres accesar, ¿como?, es sencillo, usando isset:

Código PHP:
Ver original
  1. if (isset($row['indice'])) { echo $row['indice']; } else { echo 'no existe "indice"'; }

Saludos.