Foros del Web » Programando para Internet » PHP »

pregunta urgente

Estas en el tema de pregunta urgente en el foro de PHP en Foros del Web. Buenas, tengo una pregunta urgente por si alguien me la podria solucionar: tengo un formulario con una base d datos, y cuando introduzco los datos, ...
  #1 (permalink)  
Antiguo 21/03/2004, 18:58
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
pregunta urgente

Buenas, tengo una pregunta urgente por si alguien me la podria solucionar:

tengo un formulario con una base d datos, y cuando introduzco los datos, tengo uncampo en la base d datos q es autonumerico y se incrementa solo, pero mi problema es como puedo coger el ultimo valor q añade con un consulta sql?
  #2 (permalink)  
Antiguo 21/03/2004, 19:04
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
$ultimo_id=mysql_insert_id();

esto te da el ultimo valor del campo autonumerioc que has insertado

saludos
  #3 (permalink)  
Antiguo 21/03/2004, 19:11
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
no me va

esta es la sentencia en la k añado el nuevo campo en la base de datos:

$sql="INSERT INTO foro (usuario,fecha,comentario,tema) VALUES ('$_SESSION[usuario]','$_SESSION[fe]','$_POST[comentario]','$_POST[tema]')";

y ahora kiero q ese campo autonumerico id se añada en otra tabla.

tengo puesto lo ke me dijistes:

$ultimo_id=mysql_insert_id();

$sql="INSERT INTO respuesta (usuario,fecha,comentario,tema,id) VALUES ('$_SESSION[usuario]','$_SESSION[fe]','$_POST[comentario]','$_POST[tema]',$ultimo)";

pero me da el siguiente error:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
  #4 (permalink)  
Antiguo 21/03/2004, 19:23
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
prueba de hacerlo asi;

Código PHP:
$sql="INSERT INTO foro (usuario,fecha,comentario,tema) VALUES ('".$_SESSION['usuario']."','".$_SESSION['fe']."','".$_POST[comentario]."','".$_POST['tema']."')";

mysql_query($sql) or die (mysql_error());


$ultimo_id=mysql_insert_id();

$sql="INSERT INTO respuesta (usuario,fecha,comentario,tema,id) VALUES ('".$_SESSION['usuario']."','".$_SESSION['fe']."','".$_POST[comentario]."','".$_POST['tema']."','".$ultimo_id."')";

mysql_query($sql) or die (mysql_error()); 
el mysql_insert_id(), tiene de ir despues de insertar un registro
y luego lo que veo es que tu variable es :
$ultimo_id

no, $ultimo

Prueva a ver si te sirve

Saludos
  #5 (permalink)  
Antiguo 21/03/2004, 19:29
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
no sigue sin funcionar y me da el mismo error q antes :S
  #6 (permalink)  
Antiguo 21/03/2004, 19:32
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
Pues la verda, no se??, te ingresa el primer INSERT INTO? o ya te da error?

por cierto ponle las comillas en la variable del array que falta
  #7 (permalink)  
Antiguo 21/03/2004, 19:58
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
no el añadir ahora no me lo hace
  #8 (permalink)  
Antiguo 21/03/2004, 20:00
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
lo raro es ke me da el error ese pero en la base de datos si me lo agrega
  #9 (permalink)  
Antiguo 21/03/2004, 20:01
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
me lo añade en una d las tablas en la de foro pero en la de respuestas no
  #10 (permalink)  
Antiguo 22/03/2004, 01:31
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
Prueba ha hacer un echo de la variable $ultimo_id; a ver que te da;
  #11 (permalink)  
Antiguo 22/03/2004, 03:04
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
NO VA

es k no devuelve nada de la consulta
  #12 (permalink)  
Antiguo 22/03/2004, 03:56
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
Pues entonces imagino que la funcion mysql_insert_id(), no lo acepta tu version de mysql, revisa el manual,
http://www.mysql.com/doc/en/mysql_insert_id.html,

Lo que no se, si tienes en la tabla 'respuesta', el id como autoincremental, quizas no te deja hacer un insert con numeros
que no son consecutivos;




saludos
  #13 (permalink)  
Antiguo 22/03/2004, 05:13
Avatar de firewind  
Fecha de Ingreso: noviembre-2003
Ubicación: Cabra-Córdoba-Andalucia-España
Mensajes: 62
Antigüedad: 14 años, 1 mes
Puntos: 2
Hola, no tengo a mano PHP y MySQL para probar, pero podrias hacer lo siguiente;

$sql="SELECT max(id) as ID from foro ";

esto te devuelve el ID del ultimo en la tabla.

Espero te sirva.
Un saludo.
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 18:46.