Foros del Web » Programando para Internet » PHP »

Problema con respuesta true.

Estas en el tema de Problema con respuesta true. en el foro de PHP en Foros del Web. Hola como estan ? Bueno me pasa lo siguiente. Estoy haciendo un UPDATE a una tabla y la respuesta la separo en dos.. dependiendo si ...
  #1 (permalink)  
Antiguo 17/09/2012, 06:39
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Problema con respuesta true.

Hola como estan ?
Bueno me pasa lo siguiente.

Estoy haciendo un UPDATE a una tabla y la respuesta la separo en dos.. dependiendo si hay cambios o no los hay.

Código PHP:
if($stmt->affected_rows==1)
{
  return 
true;
}else{
return 
'nochange';

Cuando agarro este return lo hago de la siguiente forma..
Código PHP:
if(resp=$conexion->change())
{
     if(
resp!='nochange')
    {
echo 
'si hay cambios';
   }else{
echo 
"no hay cambios";

el problema es que siempre me tira el echo de "no hay cambios" ..

probando.. hize un var_dump a resp .. sale un bool true pero sigue tirando "no hay cambios" siendo que un bool true es ditinto a 'nochange' ..

Help plz? ..
  #2 (permalink)  
Antiguo 17/09/2012, 06:43
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Problema con respuesta true.

Supongo que el primer codigo está dentro de la funcion change() de la clase X...
En el segundo te falta el $

if($resp=$conexion->change())
{
if($resp!='nochange')
{
echo "no hay cambios";
}else{
echo 'si hay cambios';
}
  #3 (permalink)  
Antiguo 17/09/2012, 06:46
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: Problema con respuesta true.

Cita:
Iniciado por jossss Ver Mensaje
Supongo que el primer codigo está dentro de la funcion change() de la clase X...
En el segundo te falta el $

if($resp=$conexion->change())
{
if($resp!='nochange')
{
echo "no hay cambios";
}else{
echo 'si hay cambios';
}
Asi es .. el primer codigo esta dentro de la funcion change .
el $ esta en el codigo, se me fue ponerlo aca en el foro . . . : (
  #4 (permalink)  
Antiguo 17/09/2012, 07:26
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: Problema con respuesta true.

Simplificando el tema.. pasa lo siguiente..

Código PHP:
<?php 
function hola($a)
{
    if(
$a==true)
    {
        return 
true;
    }else{
        return 
'nochange';    
    }
}
$resp hola(true);
if(
$resp!='nochange')
{
    
var_dump($resp);
    echo 
"ay cambios";
}else{
    
var_dump($resp);
    echo 
"no hay cambios";
    }
?>
Mi pregunta es .. por que siempre hace un echo "no hay cambios".. 
sea bool TRUE o un string 'nochange'.
  #5 (permalink)  
Antiguo 17/09/2012, 07:36
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: Problema con respuesta true.

Ya lo entendi :)
..
Para los que caigan en lo mismo alguna vez de sus vidas..

un string siempre es un valor true por lo que . true!='nochange' es decir true!=true
... y if(true!=true) .. nunca entraria en la sentencia.. por lo tanto siempre entraria al else..


ej :

if('cadena'!=true)
{
echo 'yes';
}else{
echo 'no';
}

esto siempre imprimiria "no"..
Si estoy mal en algo, porfavor decirmelo. gracias.
  #6 (permalink)  
Antiguo 17/09/2012, 08:24
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Problema con respuesta true.

Exacto, te lo iba a comentar ahora :) Aquí hay algunas tablas de comparación y comportamientos de PHP.
http://www.phpcastellano.com/types.comparisons.html

Etiquetas: respuesta, tabla
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 02:29.