Foros del Web » Programando para Internet » PHP »

Problema al agregar un registro

Estas en el tema de Problema al agregar un registro en el foro de PHP en Foros del Web. Buenas tadres escribo en esta oportunidad porque mi función de insertar dejo de funcionar, cuando intento registrar el telefono no me permite insertar ya he ...
  #1 (permalink)  
Antiguo 22/02/2015, 10:54
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Problema al agregar un registro

Buenas tadres escribo en esta oportunidad porque mi función de insertar dejo de funcionar, cuando intento registrar el telefono no me permite insertar ya he revisado el código pero no he visto el error, este es el cdigo en la clase usuario:
Código PHP:
Class Usuario
{
private 
$emailUsuario;
private 
$telefonoUsuario;
public function 
__construct($emailUsuario=null,$telefonoUsuario=nulll)
{
$this->emailUsuario=$emailUsuario;            $this->telefonoUsuario=$telefonoUsuario;
}
public function 
getEmail(){
return 
$this->emailUsuario;
}
public function 
getContacto(){
return 
$this->telefonoUsuario;
}
public function 
setEmail($emailUsuario){
$this->emailUsuario=$emailUsuario;
}
public function 
setContacto($telefonoUsuario){
$this->$telefonoUsuario=$telefonoUsuario;
}
public function 
insertarDatos(){
            
$link=new Conexion();
            
$conexion=$link->conectar();
            
$consulta=$conexion->prepare('INSERT INTO usuario(emailUsuario,telefonoUsuario) VALUES(?,?)');
            
$consulta->bind_param(ss,$this->emailUsuario,$this->telefonoUsuario);
            if(
$consulta->execute())
            {
                
$consulta->close();
                return 
true;
            }else{
                
$consulta->close();
                return 
false;
            }
        }

y en este archivo de funciones es que llamo la función:
Código PHP:
$objUsuario=new Usuario();
$objUsuario->setEmail($email);
$objUsuario->setContacto(trim($telefonoC));
$datos=$objUsuario->insertarDatos();
                if(
$datos==true)
                {
                    
session_start();
                    
$respuesta=true;
                    echo 
'Sus datos han sido completado.';
                }else{
                    
session_start();
                    echo 
'Error no se puede registrar el usuario';
                    
//$mensajeError=var_dump($datos);
                

en donde esta el error? porque no se insertar el registro? solo sucede cuando agrego el telefono
  #2 (permalink)  
Antiguo 22/02/2015, 11:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al agregar un registro

Si "dejó de funcionar", significa que antes funcionaba sin problemas.
En ese caso lo más probable es algún tipo de problemas con los datos entrantes, sea por romper la unicidad de alguna clave, o bien por corromper el SQL que se crea antes de que la base lo reciba.
En todo caso es algo que debes debuggear...
¿Has verificado si la base está devolviendo algún código/mensaje de error, sea al conectarse o al ejecutar la query?
Eso sería lo primero.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/02/2015, 12:01
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Problema al agregar un registro

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Has verificado si la base está devolviendo algún código/mensaje de error, sea al conectarse o al ejecutar la query?
Eso sería lo primero.
Hola gnzsoloyo gracias por responderme, no devuleve ningún código la conexión a la base de datos la hace bien, hasta probe insertando los datos con la sentencia que tengo en la base de datos y si funciona pero cuando lo hago desde el formulario no me guarda.
  #4 (permalink)  
Antiguo 22/02/2015, 13:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al agregar un registro

Cita:
no devuleve ningún código la conexión a la base de datos la hace bien
¿Cómo sabes que la hace bien? ¿Cómo la compruebas?
No has posteado la clase Conexion, por lo que no sabemos siquiera si está correctamente configurada.
Cita:
probe insertando los datos con la sentencia que tengo en la base de datos
Eso sólo indica que la query está sintácticamente bien, cosa que se puede verificar con sólo leerla. Ni hace falta probarlo.
Cita:
cuando lo hago desde el formulario no me guarda.
¿No te guarda ahora, pero te guardó antes?
Entonces el problema, insisto, es posible que sea de datos.

Ahora bien, en este código:
Código PHP:
public function insertarDatos(){
            
$link=new Conexion();
            
$conexion=$link->conectar();
            
$consulta=$conexion->prepare('INSERT INTO usuario(emailUsuario,telefonoUsuario) VALUES(?,?)');
            
$consulta->bind_param(ss,$this->emailUsuario,$this->telefonoUsuario);
            if(
$consulta->execute())
            {
                
$consulta->close();
                return 
true;
            }else{
                
$consulta->close();
                return 
false;
            }
        }

¿En qué parte verificas si la base devolvió algún error?

Simple: En ninguna. Sólo verificas que se ejecutara sin problemas, cosa que aparentemente debe estar haciendo, pero no validas si hubo una inserción realmente.
Bien podría estar fracasando por errores de datos o datos corruptos, pero no lo puedes ver porque no lo verificas...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: registro
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 13:31.