PHP - Miren este codigo PLIZ

 
Vista:

Miren este codigo PLIZ

Publicado por Jorge Villarreal (9 intervenciones) el 20/08/2006 18:26:13
El objetivo de este codigo es imprimir un par de encabezados y el nombre de un cliente que se obtiene de una base de datos mysql, pero no me funciona.

Me podrian decir que es lo que esta mal o que es lo que me falta.

TNK.

-----------------------------------------------------------------------------------------------------------------------------

<?
mysql_connect("my_server","my_usser","My_pass");
mysql_select_db("my_data_base");
$registro = mysql_query("select * from Clientes where UsserName = '$UsserName' and Contraseña = '$Contraseña'");

$numfilas = mysql_num_rows($registro);
$rows = mysql_fetch_array($registro);
$fila = mysql_fetch_row($registro);

if ($numfilas != 0)
{
while($fila)
$nombre = $fila[0];

echo '<h1><div align="center">Bienvenido a Learning Center</div></h1>';
echo '<h2><div align="center">Usuario:</div></h2>';
echo $nombre;
echo '<div align="center"><input type="submit" name="Submit" value="Aceptar" /></div>';
$fila = mysql_fetch_row($registro);
}
else
{
?>
<script language="javascript"> alert("Nombre de usuario agente o contraseña invalidos"); </script>
<?
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Miren este codigo PLIZ

Publicado por thessoro (30 intervenciones) el 20/08/2006 20:17:08
Hay varias cosas mal.
Lo primero $UsserName y $Contraseña que aparecen de la nada. Si esos datos vienen de un formulario por el método POST usa $_POST['UsserName' ] y $_POST['Contraseña']

Luego: Se supone que hay un único registro que cumple esa condición no?
$rows = mysql_fetch_array($registro); <- ya lo estás recuperando aki, luego:
$fila = mysql_fetch_row($registro); <- $fila da false necesariamente, ya que ya has recuperado el dato (realmente no sé para que tienes esas dos líneas)

Luego:

if ($numfilas != 0)
{
while($fila) $nombre = $fila[0]; <- como $fila es necesariamente false, esto nunca se llega a cumplir. De todos modos si sólo hay un registro no sé para que necesitas un while, y si hubiese más de uno tampoco haría nada puesto que estarías sobreescribiendo constantemente la variable $nombre.

Luego después tienes otra vez:
$fila = mysql_fetch_row($registro); <- ese intento por recuperar una tercera fila inexistente ya si que no le puedo encontrar explicacion.

¿Estas seguro de saber correctamente qué hace la función mysql_fetch_row? Ésta recupera, cada vez que se la invoca, el siguiente resultado en un conjunto de resultados devueltos por mySQL, cuando no hay más resultados devuelve false. Luego, si sólo esperas un resultado, te sobra con un mysql_fetch_row.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar