Foros del Web » Programando para Internet » PHP »

$row = mysql_fetch_array($result); No está bien? :P

Estas en el tema de $row = mysql_fetch_array($result); No está bien? :P en el foro de PHP en Foros del Web. Lo que queria hacer, es, hacer una página con un formulario que contenga como valor inicial de cada campo lo que haya en la base ...
  #1 (permalink)  
Antiguo 13/12/2002, 07:39
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
$row = mysql_fetch_array($result); No está bien? :P

Lo que queria hacer, es, hacer una página con un formulario que contenga como valor inicial de cada campo lo que haya en la base de datos. Creo que mas o menos se entiende, :P.
Lo que tengo es:

Código PHP:
$result mysql_query("SELECT * FROM " usuarios " where nick = '$nick'");
$row mysql_fetch_array($result); 
Y me dá error en la linea 5 [en este caso la 3, ;)].
Mas adelante, para que en los campos del formulario salga lo que hay en el registro, value=\"$row[nick]\"
Que está mal?
He probado primero con $row["nick"], pero me dá error ahí, sin comillas no da error, pero, sin comillas da error en la declaración de $row.. Me explico, no?? :P

Acia por leerlo por lo menos, jeje...
__________________
(:
  #2 (permalink)  
Antiguo 13/12/2002, 08:30
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Bueno.. te voy a comentar que ante todo lo que sea problemas de querys y accesos a la base de datos MySQL, lo mejor que podés hacer para darte cuenta lo que está funcionando mal, es hacer, luego de un mysql_query();

Código PHP:
<?
echo mysql_error();
?>
Con esto tendrás una frase explicando el porqué del error.

A simple vista veo que estás poniendo "usuarios" y no "$usuarios", pero puede ser que lo tengas definido como constante con DEFINE.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #3 (permalink)  
Antiguo 13/12/2002, 13:16
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 1 mes
Puntos: 55
Creo que lo que pretendes hacer es esto:
Código PHP:
$result mysql_query("SELECT * FROM $usuarios where nick = '$nick'");
while(
$row mysql_fetch_array($result)){
$a=$row;
}
mysql_free_result($result); 
Y luego en el formulario vas poniendo los values así:

value=\"$a[nick]\"
value=\"$a[password]\"
value=\"$a[email]\"
-------------- Más --------------

Es decir, tienes que poner ese while, que lo que hace es hacer una copia de $row que la llamamos $a por ejemplo y es la que contiene los datos de tu usuario. Luego en los values vas poniendo las claves que correspondan y ya está. Ojo , supongo que es para UN SÓLO USUARIO, es decir, que el resultado del query es una sola fila en la base de datos.
Saludos
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #4 (permalink)  
Antiguo 13/12/2002, 20:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No hace falta pasar por un array intermedio .. la funcion mysql_fecht_array ya devuelve un array . .donde los indices son los nombres (u orden) de los campos de la consulta realizada ..

Código PHP:
$result mysql_query("SELECT * FROM $usuarios where nick = '$nick'");
while(
$row mysql_fetch_array($result)){
echo 
$row['mail'];
echo 
$row['otro'];
// etc

}
mysql_free_result($result); 
A todo esto .. para el caso concreto de una consulta que se sabe que debe arrojar solo un registro .. se puede usar:

$campo=mysql_result($result,0,'campo');

Eso para cada campo de la consulta=mysql_query(...) .. que realices .. Sin while ni otro tipo de bucles ..

Con esa funcion miramos el registro "0" que es el "numero" que le corresponde a un unico registro entregado y miramos el campo que queremos usar ...

Un saludo,
  #5 (permalink)  
Antiguo 14/12/2002, 05:48
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Gracias a los tres...
Al final lo que hize fué poner $row[1], $row[2], $row[3], ect.. jiji Tenia prisa :P.
De todas maneras, voy a probar eso también, weno, el de Cluster que me parece algo menos liante
Acia otra vé ;)
__________________
(:
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 04:22.