Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/11/2012, 12:09
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 3 meses
Puntos: 83
Respuesta: ¿se puede llamar a las base de datos con la funcion mysql_fetch_array cua

"...se puede llamar a las base de datos con la funcion mysql_fetch_array..."

mysql_fetch_array no llama a la base de datos, lo que hace es convertir los datos retornados por una consulta (query) a tipo array que por defecto es indexado y asociado por clave-valor en base a los campos consultados

Código:
$resultado= mysql_query("SELECT id, nombre FROM usuario "); 
while(($resultado= mysql_fetch_array($datos, MYSQL_BOTH))) {
    ....
}
En este ejemplo $dato es un array indexado y asociativo (echa un vistazo a algun manual de php mysql para ver mas opciones), y que solo tiene 2 elementos: $dato[0] que es igual a $dato['id'], y $dato[1] que es igual a $dato['nombre']

No puedes acceder al dato $dato[32] simplemente porque no existe. Si quieres consultar el nombre del registro bajo el id=32 tienes que consultar con ese filtro, o si quieres sacarlo todo tienes que recorrer todos los datos con el while sobre fetch_array y usar un condicional para el id que quieras

Código:
//forma bruta
$resultado= mysl_query("SELECT id,name FROM usuarios");
while(($dato = mysql_fetch_array($resultado, MYSQL_BOTH))) {
    if($dato['id'] == 32) {
        echo $dato['nombre'];
    }
}

//forma neta
$resultado= mysl_query("SELECT name FROM usuarios WHERE id=32");
$dato = mysql_fetch_array($resultado, MYSQL_BOTH);
echo $dato['nombre'];
Ten en cuenta que he omitido todas las comprovaciones de error, per es necesario ponerlas.

Por las demas pruebas que has hecho:

$a2[32] te arroja un error de indice inexistente ya que fetch_array genera un array de 2 elementos (id y nombre)

32[0] te arroja un error de sintaxi, 32 es un tipo entero y no tiene indices

$a=32; $a[0]; desde que asignas 32 a la variable $a esta se convierte en tipo entero, no en tipo array por lo que no puedes acceder a ningun indice

Saludos
vosk