Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/11/2003, 06:10
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si tienes el codigo tal como esta en el mensaje, nunca se ejecuta el else. Siempre se ejecuta el primer select. ¿Por que? Pues porque $R2=1 siempre es verdadero. ¿Por que? Porque $R2=1 es asignar a la variable $R2 el valor 1, y esa expresion devuelve 1 que el verdadero. ¡Pero si lo que yo queria era comparar! El operador = es de asignacion, el igualdad es ==, y el de "exactamente iguales en valor y tipo" es ===. Asi que si querias comparar $R2 con 1, deberias haber puesto:
Código PHP:
if ($R2==1) { 
Para evitar este tipo de problemas, yo acostumbro a poner el valor a la izquierda del operador. Asi:
Código PHP:
if (1==$R2) { 
porque asi si me equivoco y pongo 1=$R2, PHP me pega un grito con un error que dice algo asi como 'no se puede asignar valores a constantes'.

Y en tu codigo supongo que cuando querias que se ejecutase el segundo select, es porque $nombre no tenia valor. Y entonces estaria ejecutando la primera consulta sin el valor de $nombre, asi que pasaria lo que pasaba.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.