Foros del Web » Programando para Internet » PHP »

problema con array bidimensional

Estas en el tema de problema con array bidimensional en el foro de PHP en Foros del Web. Hola a todos!. Tengo otro problema que no entiendo bien. Tras realizar la conexion a una base de datos mysql (campos id, alias,clave,privilegios, aleatorio), ejecuto ...
  #1 (permalink)  
Antiguo 18/09/2008, 04:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 36
Antigüedad: 15 años, 7 meses
Puntos: 0
problema con array bidimensional

Hola a todos!.
Tengo otro problema que no entiendo bien.
Tras realizar la conexion a una base de datos mysql (campos id, alias,clave,privilegios, aleatorio), ejecuto la siguiente instrucción:

$sql = "SELECT * FROM usuarios WHERE alias='".$usuario."'";
$result=mysql_query($sql,$conexion);
$row = mysql_fetch_array($result);

La consulta devuelve un registro de la base de datos.
Luego lo que quiero es almacenar ese array ($row) en una variable de sesión.
$_SESSION['logueado']=$row;

Pero cuando quiero mostrar por pantalla el contenido de alguno de los campos de la base de datos, tras mostrarme el valor correctamente, me muestra un error del tipo Unknown column 'Array' in 'field list'.

echo $_SESSION['logueado']['alias'];
echo $_SESSION['logueado']['privilegios'];

No entiendo porque me dice que no encuentra un campo llamado array en la base de datos, si yo lo que estoy dicendo es que me muestre el campo alias y privilegios.

Haber si alguien me puede echar una mano.
Saludos.
  #2 (permalink)  
Antiguo 18/09/2008, 08:27
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: problema con array bidimensional

Que tal wadE87, estas mal interpretando el uso de la función mysql_fetch_array(), debes indicarle al array que crea dicha función el valor que deseas publicar, para tu caso podrias hacer algo como esto
Código PHP:
session_start();
$_SESSION['logueado'] = array('id'=>$row['id'], 'alias'=>$row['alias'], 'clave'=>$row['clave'], 'privilegios'=>$row['privilegios'], 'aleatorio'=>$row['aleatorio']);
// Ahora si puedes acceder a cada uno de los valores de dicho usuario
echo $_SESSION['logueado']['alias'];
echo 
$_SESSION['logueado']['privilegios']; 

Saludos.
  #3 (permalink)  
Antiguo 18/09/2008, 11:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema con array bidimensional

También podrías cambiar mysql_fetch_array por mysql_fetch_assoc y dejar el resto del código sin modificar.
  #4 (permalink)  
Antiguo 19/09/2008, 03:15
 
Fecha de Ingreso: septiembre-2008
Mensajes: 36
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: problema con array bidimensional

Hola Triby y Carlojas.
He conseguido solucionar el problema.
Se debía a qué en una instrucción que tenía más abajo, intentaba acceder de la siguiente manera:
$_SESSION['logueado'] , entonces me decía que no encontraba el campo array en la base de datos.

Pero ojo, haciendo ésto:
Código PHP:
$sql "SELECT * FROM usuarios WHERE alias='".$usuario."'"
$result=mysql_query($sql,$conexion);

$row mysql_fetch_array($result);

$_SESSION['logueado']=$row;

echo 
$_SESSION['logueado']['alias']; 
echo 
$_SESSION['logueado']['privilegios']; 
Me lo ejecuta correctamente.
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:35.