Ayuda php-mysql

Hola me gustaría realizarle una consulta sobre php y mysql
Si tengo una tabla en mysql con los siguientes campos o "rows" id, nombre, teléfono, ¿dirección cómo hago para imprimir toda la información que tengo en una determinada columna de la tabla?.
Es decir, ¿si en la tabla tengo 5 nombres diferentes y solo quiero imprimir la información que tengo en la columna con el nombre Fabian?, tengo el siguiente script pero el problema es que solo me imprime la primera columna pero si quiero la tercera no me funciona:
$dbh=mysql_connect ("localhost", "root", "manzano") or die ('I cannot connect to the database because: ' . Mysql_error());
mysql_select_db ("sebel");
$consulta = mysql_query("select * from events ")or die('Error: '.mysql_error());
$row=mysql_fetch_row($consulta );
<? Echo "$row[0]"; ?>
<? Echo "$row[1]"; ?>
<? Echo "$row[2]"; ?>
<? Echo "$row[3]"; ?>
Muchas gracias

1 respuesta

Respuesta
1
La función mysql_fetch_row devuelve el resultado de UNA SOLA FILA de la consulta realizada. Si en tu caso "SELECT * FROM events" devuelve 3 filas y quisieras visualizar esa tercera, deberías hacer lo siguiente:
$row=mysql_fetch_row($consulta );
$row=mysql_fetch_row($consulta );
$row=mysql_fetch_row($consulta );
<? echo "$row[0]"; ?>
<? echo "$row[1]"; ?>
<? echo "$row[2]"; ?>
<? echo "$row[3]"; ?>
Eso es debido a que tu variable $consulta almacena un cursor con todas las filas devueltas, y como mysql_fetch_row no tiene posibilidad de indicar que fila computamos, va extrayendo filas del resultado.
Te recomiendo el uso de la función "mysql_fetch_assoc", de forma que el siguiente script debería serte de mucha más utilidad:
$result = mysql_fetch_assoc($consulta);
print_r($result)
Así, $result es una matriz completa con todas las filas, y dentro de dicha matriz puedes seleccionar el indice (fila) que desees.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas