Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Bases de Datos => Mensaje iniciado por: astinx en 9 Marzo 2012, 20:42 PM

Título: Duda sobre mysql; ¿Se puede conocer el valor de un campo luego de insertarlo?
Publicado por: astinx en 9 Marzo 2012, 20:42 PM
Hola, lo que me sucede es que yo tengo una tabla, donde (este es un mero ejemplo) tengo un id, que es clave principal y es un entero que se auto-incrementa, y tengo el nombre que es un varchar.
Ahora, lo que me sucede es que yo quiero insertar un nuevo nombre, y justo después usar el id, del nuevo nombre insertado, pero pienso que no seria correcto que la consulta para hacerlo fuera; "select id from test where (test.nombre = 'unNombre')". Pensé que tal vez lo correcto seria contar la cantidad de columnas, pero tampoco estoy convencido. ¿Hay alguna forma autentica de lograr recuperar el id luego de insertarlo?

Les dejo un ejemplo:

Código (html4strict) [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>sin título</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.18" />
</head>
<body>
<?php
//Pruebas
$host_db="localhost";
$usuario_db="root";
$password_db="root";
$nombre_db="kimboo";
$link mysql_connect($host_db,$usuario_db,$password_db);
$query ="insert into test (nombre) value ('Gerardo')";
$result mysql_db_query($nombre_db,$query,$link);
if (mysql_num_rows($result)) {
echo "Error";
} else {
//Chan
$row mysql_fetch_array($result);
echo '<p>Se inserto el usuario con ID igual a '.$row['id'].'</p>';
}
?>

</body>
</html>


Muchas gracias por detenerse a leer, Saludos!
Título: Re: Duda sobre mysql; ¿Se puede conocer el valor de un campo luego de insertarlo?
Publicado por: raul338 en 9 Marzo 2012, 20:57 PM
Lo que buscas es: function mysql_insert_id (http://php.net/manual/es/function.mysql-insert-id.php)
Título: Re: Duda sobre mysql; ¿Se puede conocer el valor de un campo luego de insertarlo?
Publicado por: astinx en 10 Marzo 2012, 15:53 PM
Muchas gracias, Raúl :D