Foros del Web » Programando para Internet » PHP »

problemas con INSERT usando bind_param en PHP

Estas en el tema de problemas con INSERT usando bind_param en PHP en el foro de PHP en Foros del Web. Hola!! saludos desde Alemania!! estoy haciendo un proyecto y tengo un método para insertar un empleado en mi BD MySql, no se que estoy haciendo ...
  #1 (permalink)  
Antiguo 15/12/2014, 09:53
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
problemas con INSERT usando bind_param en PHP

Hola!!

saludos desde Alemania!!

estoy haciendo un proyecto y tengo un método para insertar un empleado en mi BD MySql, no se que estoy haciendo mal, porque no me da error, pero la función me devuelve -1

El caso es que si modifico la consulta, para que solo me inserte el campo $ausweiss,
si me inserta.

Les dejo la funcion, a ver si me pudieran echar un cable

Código PHP:

public function saveneueAngestellte(){
            
            
            
$db=DataBase::Conectar();
            
            
//$sql=$db->prepare("INSERT INTO angestellte(ausweiss)VALUES(?)");
            
$sql=$db->prepare("INSERT INTO angestellte(ausweiss,vorname,password,anname,addresse,handy,eintritdatum)VALUES(?,?,?,?,?,?,?)");
            
            
            
            
            
$ausweiss=$this->getAussweis();
            
$vorname=$this->getVorname();
            
$password=$this->getPassword();
            
$anname=$this->getAnname();
            
$addresse=$this->getAddrese();
            
$handy=$this->getHandy();
            
$eintritdatum=$this->getDatum();
            
            
            
//$sql->bind_param('s',$ausweiss);
            
$sql->bind_param('sssssss',$ausweiss,$vorname,$password,$anname,$addresse,$handy,$eintritdatum);
            
            
            
            
$sql->execute();
            
            
$rc=mysqli_affected_rows($db);
            
printf($rc);
        
        
        } 
  #2 (permalink)  
Antiguo 15/12/2014, 12:50
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: problemas con INSERT usando bind_param en PHP

Venga una ayudita..po favor!!
  #3 (permalink)  
Antiguo 15/12/2014, 14:20
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: problemas con INSERT usando bind_param en PHP

Hola serenimusmoriarty creo que no te funciona porque estas poniendo la función affected_rows como si fuera al estilo de procedimiento y al principio esta utilizando al estilo orientado a objetos, si prueba colocandolo así:

Código:
$rc=$sql->affected_rows;
Saludos!
  #4 (permalink)  
Antiguo 16/12/2014, 01:39
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: problemas con INSERT usando bind_param en PHP

Hola plitre_sys19,

gracias por tu ayuda,

he probado como tu me dijiste, pero la función me sigue retornando -1,

lo que es raro es, si intento introducir solo el campo "ausweiss" ($ausweiss), y hago la siguiente funcion , si que lo inserta, parece que hay un problema con el resto de campos de la tabla, he comprobado poniendo un printf/echo en la funcion, y las variables si que se pasan a través del formulario.

los campos son todos Varchar(80), menos el de fecha de entrada (eintritdatum)que es del tipo date

la funcion que si funciona es esta:

Código PHP:

public function saveneueAngestellte(){
            
            
            
$db=DataBase::Conectar();
            
            
$sql=$db->prepare("INSERT INTO angestellte(ausweiss)VALUES(?)");
            
            
            
            
            
            
$ausweiss=$this->getAussweis();
            
            
            
            
$sql->bind_param('s',$ausweiss);
            
            
            
            
            
$sql->execute();
            
            
$rc=mysqli_affected_rows($db);
        
            
printf($rc);
        
        
        } 
  #5 (permalink)  
Antiguo 16/12/2014, 09:15
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: problemas con INSERT usando bind_param en PHP

Hola serenimusmoriarty solo con ese campo es que te funciona nada más? has intentado insertar los datos sin el campo (eintritdatum) para ver si funciona?

Cuando trabajo con fecha lo hago de esta manera:
Código:
$eintritdatum=$this->geteintritdatum(); 
$f=explode("/", $eintritdatum);
$fecha=$f[2].'-'.$f[1].'-'.$f[0];
y en el bind_param debe de colocar $eintritdatum, colocarias $fecha

Saludos.
  #6 (permalink)  
Antiguo 16/12/2014, 10:15
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: problemas con INSERT usando bind_param en PHP

Hola !!

gracias de nuevo!!,


ya esta, el problema es que le estaba pasando el campo password en la select, pero no lo recogía en el formulario, UN DESPISTE!!

de esta forma ya va:


Código PHP:

public function saveneueAngestellte(){
            
            
            
$db=DataBase::Conectar();
            
            
            
$sql=$db->prepare("INSERT INTO angestellte(ausweiss,vorname,anname,addresse,handy,eintritdatum)VALUES(?,?,?,?,?,?)");
            
            
            
$ausweiss=$this->getAussweis();
            
$vorname=$this->getVorname();            
            
$anname=$this->getAnname();
            
$addresse=$this->getAddrese();
            
$handy=$this->getHandy();
            
$eintritdatum=$this->getDatum();
            
            
            
$sql->bind_param('ssssss',$ausweiss,$vorname,$anname,$addresse,$handy,$eintritdatum);
            
            
            
            
$sql->execute();
            
        
            
$rc=$sql->affected_rows;
            
        
        
        } 

Gracias de nuevo y Auf wiedersehen!!

Etiquetas: insert, mysql, sql, usando
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 11:50.