Foros del Web » Programando para Internet » PHP »

Duda consultas a BD

Estas en el tema de Duda consultas a BD en el foro de PHP en Foros del Web. Hola Estoy liado con una web que usa una BD. El problema 'padre' de todos los problemillas, es que no se exactamente como se devuelve ...
  #1 (permalink)  
Antiguo 15/03/2003, 11:21
 
Fecha de Ingreso: febrero-2003
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
Duda consultas a BD

Hola

Estoy liado con una web que usa una BD. El problema 'padre' de todos los problemillas, es que no se exactamente como se devuelve una consulta a una BD en php, es decir, cuando yo hago $resultado = mysql_query($query); ¿qué se me guarda en $resultado ? Supongo que un array, pero no se bien lo que se guarda.
He buscado por ahi pero no he sacado nada en claro.

Gracias.
  #2 (permalink)  
Antiguo 15/03/2003, 11:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Se guarda un "puntero" (si no me equivoco con la teoría) .. ese "puntero" a su vez lo puedes "desglosar" en un array (asociativo o no) .. en un objeto y en otros tipos de elementos ..

Para eso tienes funciones como mysql_fetch_xxx() donde xxx es array, assoc, object, row .. etc

Tambien podrias acceder a un campo de uno de los registros que te entrega la consulta via:

mysql_result()

El caso que siempre que quieras obtener los datos que ha generado tu consulta via mysql_query() debes de "darles formato" hacia los elementos mencionados y mas que puedes ver si ves las funciones de Mysql con PHP:

http://www.php.net/manual/en/ref.mysql.php

Si lees las FAQ's de este foro veras mas tutoriales de PHP que en algun capítulo hablan sobre Mysql y como interactuar con PHP usando las funciones mencionadas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 15/03/2003, 12:16
 
Fecha de Ingreso: febrero-2003
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
Hola

mirando en php.net, en uno de los cometnarios que se hacen encontré este resumen:

Cita:
The mysql_fetch_row function returns an array with numeric indices.

For example, a row from the query:

SELECT bookid,title,author FROM books

would look like:

$record[0]=3
$record[1]="A Farewell To Arms"
$record[2]="Ernest Hemingway"

The mysql_fetch_assoc function returns an array with indices that are the field names, like such:

$record["bookid"]=3
$record["title"]="A Farewell To Arms"
$record["author"]="Ernest Hemingway"

The mysql_fetch_array function returns an array with both kinds of indices, so this array looks like:

$record[0]=3
$record["bookid"]=3
$record[1]="A Farewell To Arms"
$record["title"]="A Farewell To Arms"
$record[2]="Ernest Hemingway"
$record["author"]="Ernest Hemingway"

This is the reason for the "doubled" field output from the example.

Note that the mysql_fetch_array function has an optional parameter where you can specify the indices.

So replacing the call:

mysql_fetch_array($result)

with:

mysql_fetch_array($result,MYSQL_NUM)

would be an identical fix to:

mysql_fetch_row($result)

Hope this helps!
Espero que sirva a alguien, a mi mas o menos me ayudo a entender lo que hacía al poner mysql_fetch_xxx

Un saludo
  #4 (permalink)  
Antiguo 15/03/2003, 12:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te faltó el object por ejemplo de mysql_fetch_xxxx (y hay mas ..)

eso hace:
$objeto=mysql_fetch_object($consulta);

$objeto->nombredelcampo;

Para que lo accedas así y lo uses ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 13:12.