Foros del Web » Programando para Internet » PHP »

Comparación

Estas en el tema de Comparación en el foro de PHP en Foros del Web. Hola, tengo un problema en una consulta a la bd q no se muy bien como solucionar: tengo una tabla amigos q es asi: anfitrion ...
  #1 (permalink)  
Antiguo 04/08/2009, 07:20
 
Fecha de Ingreso: septiembre-2005
Mensajes: 36
Antigüedad: 18 años, 7 meses
Puntos: 0
Comparación

Hola, tengo un problema en una consulta a la bd q no se muy bien como solucionar:

tengo una tabla amigos q es asi:

anfitrion amigo aceptado
VARCHAR VARCHAR BOOL

Bueno, pues quiero ver cuando se cumple todo

if (mysql("SELECT * FROM amigos WHERE amigo=$varamigo and anfitrion=$varanfitrion and aceptado=1)


Bueno, pues este if no me devuelve nada.
  #2 (permalink)  
Antiguo 04/08/2009, 08:23
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Comparación

hola walking

imagino que la linea que pusiste es lo que llevas hasta ahora en tu codigo de programacion, pues bien ahi nada mas estas poniendo la sentencia, no se donde la estes ejecutando, por lo que no es posible que te arroje lo que deseas, en cuanto a si la sentencia esta bien estructurada la respuesta es si
  #3 (permalink)  
Antiguo 04/08/2009, 09:13
 
Fecha de Ingreso: septiembre-2005
Mensajes: 36
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Comparación

no, XD a ver, llevo más, pero esa es la línea q me interesa.

Cómo puedo acer una sentencia if q me diga q ya existe un anfitrion determinado con un amigo determinado y pueda ver el campo booleano. Con esa sentencia no sale.
  #4 (permalink)  
Antiguo 04/08/2009, 09:23
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Comparación

la sentencia sql esta correcta, te recomiendo que la pruebes desde el mysql query browser para que compruebes si te trae los resultados que deseas, si es asi quiere decir que tu error esta en tu logica de programacion


saludos
  #5 (permalink)  
Antiguo 04/08/2009, 09:28
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Comparación

Como ya te dijeron, ahí simplemente estás poniendo la sentencia, pero no la estás ejecutando.

http://docs.php.net/manual/es/function.mysql-query.php

Eso te devolverá los datos, y tendrás que ver si son distinto de "", porque si no compruebas eso, lo que vas a conseguir con el If es ver si la consulta se hizo correctamente o no, pero no si tienes datos.
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #6 (permalink)  
Antiguo 04/08/2009, 10:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comparación

El problema es más de PHP que de MySQL. Translado el tema a la sección adecuada.

Debes usar mysql_query() para la consulta y mysql_num_rows() para saber si devuelve un registro.

P.S.: Para comparar con texto debe ir entre comillas... WHERE campo = 'texto'
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 04/08/2009, 12:14
 
Fecha de Ingreso: septiembre-2005
Mensajes: 36
Antigüedad: 18 años, 7 meses
Puntos: 0
muchisimas gracias a todos, a ponerlo todo en practica, he comprendio ya mi fallo.

Lo dicho, gracias y os debo una cervecita, XD

por cierto, hago esto:

$exist=mysql_query("SELECT * FROM amigos WHERE anfitrion=$_SESSION[email] and amigo=$registro[2]");
$comp=mysql_num_rows($exist);

donde $_SESSION[email] y $registro[2] e comprobado mediantes echo que son válidos, me sale por pantalla:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

a q puede ser debido???

he probado a poner un valor directamente en las variables en vez del session y el registro, pero nada, sigue igual

Última edición por GatorV; 04/08/2009 a las 21:39
  #8 (permalink)  
Antiguo 04/08/2009, 12:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comparación

No estás envolviendo las cadenas con comillas como te sugerí:
... WHERE anfitrion = '$_SESSION[email]' AND amigo = '$registro[2]'
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 04/08/2009, 13:04
 
Fecha de Ingreso: septiembre-2005
Mensajes: 36
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Comparación

Cita:
Iniciado por David Ver Mensaje
No estás envolviendo las cadenas con comillas como te sugerí:
... WHERE anfitrion = '$_SESSION[email]' AND amigo = '$registro[2]'
cierto, perdona, los despistes del principiante.

Muchas gracias y aún mas por la velocidad en contestar!
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:11.