Foros del Web » Programando para Internet » PHP »

ID (auto inc) Grabado despues de un Insert

Estas en el tema de ID (auto inc) Grabado despues de un Insert en el foro de PHP en Foros del Web. Buenos Días Estoy desarrollando una aplicacion en la cual necesito saber despues de un Insert que ID le asigno (ya que es un campo (auto ...
  #1 (permalink)  
Antiguo 12/08/2010, 06:40
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
ID (auto inc) Grabado despues de un Insert

Buenos Días

Estoy desarrollando una aplicacion en la cual necesito saber despues de un Insert que ID le asigno (ya que es un campo (auto inc).
Lo estoy sacando con "mysql_insert_id" inmediatamente despues del "insert".

Con "printf" lo veo pero necesito grabarlo en una variable del objeto y me da error
"Fatal error: Call to a member function idpublicacion() on a non-object in "

Es la primera vez que hago esto y no se si es la mejor forma de hacerlo. y si toma el ultimo ID del insert recien de esta session, si justo en ese momento otra session graba otro registro que pasa??

No se si me explico bien, por las eudas les paso el codigo:

$obj_Publicacion=new sQuery();
$query="INSERT INTO Publicaciones (idusuario,idseccion,idrubro,idsubrubro,idarticulo ,idmarca,idtipoventa,idtipopago,idtipoarticulo,idt ipopublicacion,idtipomoneda,cantidad,precio,titulo ,descripcion,foto1,foto2,foto3,foto4,foto5,foto6,f oto7,foto8,fechaalta,fechabaja,fechavenc)
VALUES(".$this->idusuario.",".$this->idseccion.",".$this->idrubro.",".$this->idsubrubro.",".$this->idarticulo.",".$this->idmarca.",".$this->idtipoventa.",".$this->idtipopago.",".$this->idtipoarticulo.",".$this->idtipopublicacion.",".$this->idtipomoneda.",".$this->cantidad.",".$this->precio.",'".$this->titulo."','".$this->descripcion."','".$this->foto1."','".$this->foto2."','".$this->foto3."','".$this->foto4."','".$this->foto5."','".$this->foto6."','".$this->foto7."','".$this->foto8."','".$this->fechaalta."','".$this->fechabaja."','".$this->fechavenc."')";
$obj_Publicacion->executeQuery($query);

printf ( "Ultimo id %d\n" , mysql_insert_id ());

El problema es Aca=============================================
$Publicacion->idpublicacion(mysql_insert_id());
================================================== =========

Desde ya Muchas Gracias por sus ayuda
  #2 (permalink)  
Antiguo 12/08/2010, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ID (auto inc) Grabado despues de un Insert

Tienes un método llamado idpublicacion? Sería bueno que pusieras la estructura de tu clase $Publicacion.

Saludos.
  #3 (permalink)  
Antiguo 12/08/2010, 09:09
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: ID (auto inc) Grabado despues de un Insert

El problema es que no te reconoce el metodo idpublicacion() porque tenes un error, fijate:
Código PHP:
Ver original
  1. $obj_Publicacion=new sQuery();
  2. $Publicacion->idpublicacion(mysql_insert_id());     // tendria que ser $obj_Publicacion->idpublicacion(mysql_insert_id());


Perdon GatorV, no vi tu respuesta.
  #4 (permalink)  
Antiguo 13/08/2010, 06:22
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: ID (auto inc) Grabado despues de un Insert

Si amigo tenian razon, funciono perfectamente, lo hice asi:
$this->setidpublicacion(mysql_insert_id());

donde:
function setidpublicacion($val)
{ $this->idpublicacion=$val;}

Haciéndolo pasar por la Clase.
Muchas Gracias
  #5 (permalink)  
Antiguo 13/08/2010, 06:24
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: ID (auto inc) Grabado despues de un Insert

Una preguntita mas:

El comando mysql_insert_id() me devuelve el Ultimo ID asignado al archivo o el que asigne recientemente yo, por las dudas que en ese mismo instante alguien cargo otro registro en el archivo.

Gracias a alguien que pueda ayudarme
  #6 (permalink)  
Antiguo 13/08/2010, 10:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ID (auto inc) Grabado despues de un Insert

Te regresa el último autogenerado de la conexión actual.

Saludos.
  #7 (permalink)  
Antiguo 16/08/2010, 18:33
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: ID (auto inc) Grabado despues de un Insert

Muchisimas Gracias Amigo

Etiquetas: auto, insert
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:15.