php mysql_insert_id ()

  • devilwood
  • Silver Member
  • Silver Member
  • Avatar de Usuario
  • Registrado: Nov 18, 2007
  • Mensajes: 429
  • Status: Offline

Nota Junio 17th, 2010, 6:57 am

He estado usando mysql_insert_id () por algunos años ahora para obtener la clave de incremento automático de mi última consulta. Supongo que tengo dos preguntas.
Código: [ Select ]

$sql = "INSERT INTO blah blah blah";
$run = mysql_query($sql);
$autokey = mysql_insert_id();
  1. $sql = "INSERT INTO blah blah blah";
  2. $run = mysql_query($sql);
  3. $autokey = mysql_insert_id();



¿Se consigue siempre la ultima consulta ejecutada va abajo de la página? Php se lee de arriba a abajo a la derecha? Pero yo creía que había casos que eran diferentes.

¿Puedo cadena de las consultas?

Código: [ Select ]

$sql = "INSERT INTO blah blah blah";
$run = mysql_query($sql);
$autokey = mysql_insert_id();

$sql2 = "INSERT INTO blah blah blah";
$run2 = mysql_query($sql2);
$autokey2 = mysql_insert_id();
  1. $sql = "INSERT INTO blah blah blah";
  2. $run = mysql_query($sql);
  3. $autokey = mysql_insert_id();
  4. $sql2 = "INSERT INTO blah blah blah";
  5. $run2 = mysql_query($sql2);
  6. $autokey2 = mysql_insert_id();




Creo que Im que sólo se preocupa con la estabilidad de recuperar esa clave. Además, si tengo un montón de gente tiene acceso al archivo a la vez? Afecta eso la llamada, por ejemplo, si una buena cantidad de datos que se está escribiendo a la db en un corto periodo?
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Junio 17th, 2010, 6:57 am

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Junio 17th, 2010, 7:20 am

PHP va directo por la página a menos que cambie el flujo con un bucle de algún tipo.

En cuanto a la mysql_insert_id ()

Quote:
Parámetros

id_enlace
La conexión MySQL. Si el identificador de enlace no es especificado, el último enlace abierto por mysql_connect () es asumido. Si no existe dicho vínculo se encuentra, se intentará crear uno como si mysql_connect () se ha llamado sin argumentos. Si no hay conexión se encuentra o establecido, un error de nivel E_WARNING es generado.


mysql_insert_id () sólo devolverá el identificador de la última inserción / actualización de consulta se ejecutó con la conexión a mysql (enlace). Cada vez que llame a mysql_connect () un nuevo enlace que se haga a la base de datos.
#define NULL (::rand() % 2)
  • devilwood
  • Silver Member
  • Silver Member
  • Avatar de Usuario
  • Registrado: Nov 18, 2007
  • Mensajes: 429
  • Status: Offline

Nota Junio 17th, 2010, 8:16 am

Grande, que allanó el flujo y siendo que el parámetro es el enlace a continuación, basado en que no hay dos enlaces se pueden encontrar para el mismo id pasado y para que aclare la cuestión de la estabilidad que se trate con Im.

Publicar Información

  • Total de mensajes en este tema: 3 mensajes
  • Usuarios navegando por este Foro: ScottG y 278 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC