Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2012, 13:46
juandedios
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
problema con datos que la función recoge

hola, la función es esta:
Código PHP:
Ver original
  1. public function updateClave( $datos )
  2. {
  3.     parent::conectar();
  4.     $mypws = $this->getPasswd( $datos[ 0 ] );
  5.    
  6.     if ( $mypws != md5( $datos[ 1 ] ) ) {
  7.         $rep = 'La contraseña actual no es válida. Intente de nuevo.|1';
  8.     }
  9.     else {
  10.         $str = sprintf( "UPDATE contactos SET con_passwd = '%s' WHERE con_id = %d",
  11.                          mysql_real_escape_string( md5( $datos[ 2 ] ) ),
  12.                          mysql_real_escape_string( $datos[ 0 ] ) );
  13.         if ( mysql_query( $str ) ) {
  14.             $rep = 'La contraseña fue cambiada. En su próximo inicio de sesión podrá usarla.|0';
  15.         }
  16.         else {
  17.             $rep = 'La contraseña no pudo ser cambiada. Inténtelo de nuevo más tarde.|1';
  18.         }
  19.     }
  20.     mysql_close();
  21.    
  22.     return $rep;
  23. }
Siempre lo hago así, al menos no puedo ver donde está la falla, cuando en vez de return $rep escribo return $str para ver si la consulta se formó me sale esto:
Código PHP:
Ver original
  1. UPDATE contactos SET con_passwd = '' WHERE con_id = 0
pero cuando imprimo los datos que recogo directamente estos si se muestran:
Código PHP:
Ver original
  1. public function updateClave( $datos )
  2. {
  3.     parent::conectar();
  4.     $mypws = $this->getPasswd( $datos[ 0 ] );
  5.    
  6.     if ( $mypws != md5( $datos[ 1 ] ) ) {
  7.         $rep = 'La contraseña actual no es válida. Intente de nuevo.|1';
  8.     }
  9.     else {
  10.         $dat = $datos[ 0 ] . " - " . $datos[ 1 ] . " - " . $datos[ 2 ];
  11.         /*
  12.         $str = sprintf( "UPDATE contactos SET con_passwd = '%s' WHERE con_id = %d",
  13.                          mysql_real_escape_string( md5( $datos[ 2 ] ) ),
  14.                          mysql_real_escape_string( $datos[ 0 ] ) );
  15.         if ( mysql_query( $str ) ) {
  16.             $rep = 'La contraseña fue cambiada. En su próximo inicio de sesión podrá usarla.|0';
  17.         }
  18.         else {
  19.             $rep = 'La contraseña no pudo ser cambiada. Inténtelo de nuevo más tarde.|1';
  20.         }
  21.         */
  22.     }
  23.     mysql_close();
  24.    
  25.     return $dat;
  26. }
donde puede estar el error?

Espero que me puedan ayudar.

Gracias,
__________________
El aprendiz.