Obtener el ultimo ID de una tabla 1 para luego insertarlo en una tabla 2 mediante PHP

publicado por: Anonymous

Tengo dos tablas relacionadas y deseo obtener el ultimo ID_primeraTabla para insertarlo en el la segunda tabla ya que el ID_primeraTabla es la clave foránea. ¿ alguna idea ?

Lo que tengo es lo siguiente

$pregunta = $_POST["pregunta"]; 
    $respuesta = $_POST["respuesta"];
    $comentario = $_POST["comentario"];

    $sql = "Select id_asistente FROM Asistente order by id_asistente DESC LIMIT 1";
    mysqli_query($connect, $sql) or die (mysqli_error($connect));

$query = "Insert into Encuesta_asistente(pregunta_encuesta,respuesta_encuesta,comentario_encuesta,id_asistente) values ('$pregunta','$respuesta','$comentario','$sql');";
mysqli_query($connect, $query) or die (mysqli_error($connect));
mysqli_close($connect);

solución

El problema está que no estás recibiendo el valor de la primera consulta en ninguna parte.

Te pongo el código completo con comentarios:

$pregunta   = $_POST["pregunta"];
$respuesta  = $_POST["respuesta"];
$comentario = $_POST["comentario"];

$sql = "Select id_asistente FROM Asistente order by id_asistente DESC LIMIT 1";

// Pasamos el resultado
$resultado = mysqli_query($connect, $sql) or die (mysqli_error($connect));

// Pasamos a un array asociativo 
$id_resultado = mysqli_fetch_array($resultado, MYSQLI_ASSOC);

$id_asistente = $id_resultado['id_asistente'];

// La $id_asistente será un numero entero así que he elminado las comillas simple
$query = "

    Insert 
    into Encuesta_asistente(pregunta_encuesta,respuesta_encuesta,comentario_encuesta,id_asistente) 
    values ('$pregunta','$respuesta','$comentario', $id_asistente ); ";


mysqli_query($connect, $query) or die (mysqli_error($connect));
mysqli_close($connect);

Nota importante: Por favor usa sentencias preparadas MySQLi o mejor PDO para evitar posibles ataques de Inyecciones SQL

Respondido por: Anonymous

Leave a Reply

Your email address will not be published.