Resultados 1 al 4 de 4

Warning: mysql_fetch_array():

  1. #1 Warning: mysql_fetch_array(): 
    Moderador HH
    Fecha de ingreso
    Apr 2010
    Mensajes
    1.052
    Descargas
    7
    Uploads
    0
    Buenas a todos

    Yo tengo un archivo con funciones, y una de ellas es getIdUsuario, que dice así:

    Código:
    function getIdUsuario($usuario) {
        $res = 0;
        $consulta = "SELECT IDUSUARIO FROM usuarios WHERE NOMBRE='$usuario'";
        $query = mysql_query($consulta);
        $tupla = mysql_fetch_array($query);
        if ($tupla != null) {
            $res = $tupla["IDUSUARIO"];
        }
        return $res;
    }
    Se supone que obtiene la ID a partir del nombre de usuario...

    El problema viene cuando en el archivo prueba.php pongo:

    Código:
    <?
                	$usuario="admin";
                	$idadmin = getIdUsuario($usuario);
                	while($idUsuario = mysql_fetch_array($idadmin)){
                		echo 'La id del usuario Admin es  '.$idUsuario["IDUSUARIO"].' .';
                		 
                	}
                	
                	?>
    y me devuelve el error:

    Código:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in [RUTA] on line 49
    A ver si alguien me puede ayudar... me estoy volviendo loco >.< he concatenado, ninguna variable vacía, en la BD no hay campos vacíos...

    Un saludo.
    Citar  
     

  2. #2  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Buenas, getIdUsuario no te devuelve una lista, sino un número, por lo que no tiene sentido ni llamar a mysql_fetch_array, ni iterar con un bucle while.

    La solución a tu problema es:

    <?
    $usuario="admin";
    $idadmin = getIdUsuario($usuario);
    echo 'La id del usuario Admin es '.$idAdmin.' .';
    ?>

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  3. #3  
    Moderador HH
    Fecha de ingreso
    Apr 2010
    Mensajes
    1.052
    Descargas
    7
    Uploads
    0
    Gracias, ya no me sale el error, pero siempre me muestra 0. Siempre va a mostrar el atributo de $res... puedo poner el mismo código de otra forma? Quiero que $res se defina en el If, pero no sé por qué no cambia...

    Un saludo.
    Última edición por hckr; 13-11-2011 a las 15:03
    Citar  
     

  4. #4  
    Moderador HH
    Fecha de ingreso
    Apr 2010
    Mensajes
    1.052
    Descargas
    7
    Uploads
    0
    Resuelto, el fallo estaba en poner NOMBRE='$usuario' en vez de USUARIO='$usuario', en core.php.

    De nuevo gracias a Hy, que me lo ha notificado :P
    Citar  
     

Marcadores

Marcadores