Foros del Web » Programando para Internet » PHP »

Error consultando bdd

Estas en el tema de Error consultando bdd en el foro de PHP en Foros del Web. Buenas a todos!! Mirar tengo una funcion que me hace una consulta a una bdd dependiendo de 2 variables que le paso: el campo a ...
  #1 (permalink)  
Antiguo 15/11/2007, 17:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Error consultando bdd

Buenas a todos!!

Mirar tengo una funcion que me hace una consulta a una bdd dependiendo de 2 variables que le paso: el campo a consultar y la id del usuario a consultar. Esta funcion siempre me hace la consulta en la misma tabla, el codigo seria el siguiente:

Código PHP:
<?php
include ("general-left.html");
include (
"conect-bdd.php");
//include ("funcionp.php");

//cojo los datos del user por cookies
$cookie_read explode("|"base64_decode($user));
$userid $cookie_read[0];

$valor $_GET["valor"];

espiar($valor);

function 
espiar ($id) {

printar_esp($id_enemigo);

}

function 
printar_esp($id) {
        
$x="lvl_granja";
    echo 
"Debug: ".$comida =rec_inf_sql($x,$id_enemigo);
}

function 
rec_inf_sql($campo,$id){ // Coger valores de la tabla Informacion
    
        
$sql "SELECT $campo FROM Informacion WHERE id_usuario = '$id'";
    
$result mysql_query($sql);
    while (
$row mysql_fetch_array($result)){
        
$variable $row['$campo'];
    }
    echo 
$variable;
}

El problema es que al ejecutar el codigo me sale este error:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/termop.awardspace.com/login/Espiar.php on line 102

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/termop.awardspace.com/login/Espiar.php on line 102


He probado a crearme las variables dentro de la funcion que hace la consulta y la realiza perfectamente, el problema es cuando le paso las variables desde otra funcion. A que se debe esto? Alguien puede ayudarme?


Gracias
  #2 (permalink)  
Antiguo 15/11/2007, 18:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Error consultando bdd

por favor, una ayudita xDD
  #3 (permalink)  
Antiguo 15/11/2007, 18:25
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Re: Error consultando bdd

Por que la funcion le debes de pasar tambien el link de conexión..

Código PHP:
no veo la funcion o la cadena de conexion a la db.. de mysql_connect(); 
 
$result mysql_query($sql,$link); 
pero en fin necesitarias pasarla como argumento a tu funcion.. y ponerla en el mysql_query como arriba
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #4 (permalink)  
Antiguo 15/11/2007, 18:25
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Error consultando bdd

Prueba poniendo
Código PHP:
$result mysql_query($sql) or die('<b>Error: </b>'.mysql_error()); 
Eso te dira que error estas cometiendo...

Un saludo,
  #5 (permalink)  
Antiguo 15/11/2007, 19:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Error consultando bdd

Vale gracias pude solucionar eso, pero tengo otro problema, ahora no me muestra las consultas dentro de la funcion que utilizan una variable que se les pasa desde fuera de la funcion, en cambio las consultas fuera de la funcion si que me retornan bien:

Aqui el codigo algo modificado:

Código PHP:
<?php
include ("general-left.html");
include (
"conect-bdd.php");
//include ("funcionp.php");

//cojo los datos del user por cookies
$cookie_read explode("|"base64_decode($user));
$userid $cookie_read[0];

$valor $_GET["valor"];



espiar($valor);


echo 
$valor// pruebo si una consulta fuera de la funcion va bien

$sql "SELECT x FROM Informacion WHERE id_usuario='$userid'";
$result mysql_query($sql);
while(
$row mysql_fetch_array($result)){ 
    
$a $row['x'];
}
echo 
$a// Da bien y la saca por pantalla


function espiar ($id) { // Funcion y
    
$sql "SELECT num,lvl FROM Informacion WHERE id_usuario= 'id_enemigo'";
    
$result mysql_query($sql) or die('<b>Error: </b>'.mysql_error()); 
    
    while(
$row mysql_fetch_array($result)){ 
        
$num $row['num'];
        
$lvl $row['lvl'];
    }
    echo 
"Debug";
    echo 
$num;
    echo 
$lvl;
}

?>
Solo me saca por pantalla el resultado de la primera consulta, cabe decir tambien que recoje el valor de GET, perfectamente, que es lo que puede ocurrir? Alguien me ayuda?
  #6 (permalink)  
Antiguo 15/11/2007, 19:12
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Error consultando bdd

Vale despiste mio garrafal de poner id_usuario= 'id_enemigo'"; en vez de esto id_usuario= '$userid'";

jaja si es que a estas horas... llevaba como 40 minutos buscando el error en fin xD.

Perdon por las molestias gente.

Gracias y suerte!
  #7 (permalink)  
Antiguo 16/11/2007, 13:34
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Error consultando bdd

Cuando quieras

Código PHP:
$num $row['num']; 
$lvl $row['lvl']; 
Da igual si usas en vez de eso
Código PHP:
extract($row); 
Ademas, si en tu funcion espiar has de devolver solo un resultado, te recomiendo no crear un bucle por gusto....

Código PHP:
$row mysql_fetch_assoc($result);
extract($row); 
Un saludo,
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 20:31.