Ver Mensaje Individual
  #7 (permalink)  
Antiguo 08/03/2011, 18:23
Avatar de jotaincubus
jotaincubus
 
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Mysql - Insert - Query

Cita:
Iniciado por JoseTejada Ver Mensaje
Hola jotaincubus, mira normalmente he hecho lo mismo que PxHx quiere hacer de la forma en que andrexsos17 indica, y nunca había usado el método que tú sugieres que se use; sin embargo es una muy buena opción, pero al momento de probarlo con este código en el cual se hace 3 INSERT con diferentes LINKS de conexion, quiero mostrar el id insertado con un LINK específico pero me muestra simplemente el último que se hizo con un LINK diferente al que le envío como parámetro. Aquí está el código:
Código PHP:
<?php
$link1 
mysql_connect("localhost""root""");
$link2 mysql_connect("localhost""root""");
$link3 mysql_connect("localhost""root""");
mysql_select_db("prueba",$link1);
mysql_select_db("prueba",$link2);
mysql_select_db("prueba",$link3);
$q1 "INSERT INTO tb_prueba(prueba_texto,prueba_num) VALUES('JOSE','10')";
$q2 "INSERT INTO tb_prueba(prueba_texto,prueba_num) VALUES('JUAN','20')";
$q3 "INSERT INTO tb_prueba(prueba_texto,prueba_num) VALUES('PEPE','30')";

//EJECUTO QUERY 1 CON LINK1
if(mysql_query($q1,$link1))
    echo 
"se inserto con link1<br />";
else
    echo 
"no inserto link1<br />";

//EJECUTO QUERY 2 CON LINK2
if(mysql_query($q2,$link2))
    echo 
"se inserto con link2<br />";
else
    echo 
"no inserto link2<br />";

//EJECUTO QUERY 3 CON LINK3
if(mysql_query($q3,$link3))
    echo 
"se inserto con link3<br />";
else
    echo 
"no inserto link3<br />";

//DEBERIA MOSTRAR LO INSERTADO CON EL LINK2, EL CUAL ES EL ID 2 PQ LA TABLA ESTÁ VACÍA, 
//PERO ME MUESTRA 3 (EL ULTIMO ID INGRESADO PERO CON LINK3)
echo mysql_insert_id($link2);

?>
El cual lo realizo con una tabla de prueba llamada "tb_prueba", dentro de una BD llamada "prueba", de la cual pongo su script:

Código PHP:
CREATE TABLE `tb_prueba` (
  `
id_pruebaint(11NOT NULL AUTO_INCREMENT,
  `
prueba_textovarchar(100) DEFAULT NULL,
  `
prueba_numint(11) DEFAULT NULL,
  
PRIMARY KEY (`id_prueba`)

Me interesa mucho saber tu opinión si no es molestia... gracias.
lo que pasa es que PHP utiliza una conexion a la vez, si llamas a LINK1 entonces PHP hace lo que tiene que hacer con ella y cierra la conexion... como tu estas llamando LINK2 despues de que se cierra dicha funcion utilizara la ultima que encontro... osea link3

intenta asi:

Código PHP:
if(mysql_query($q1,$link1))
    
$ultimo mysql_insert_id($link1);
    echo 
"se inserto con $ultimo<br />";
else
    echo 
"no inserto link1<br />";

//EJECUTO QUERY 2 CON LINK2
if(mysql_query($q2,$link2))
    
$ultimo mysql_insert_id($link2);
    echo 
"se inserto con $ultimo<br />";
else
    echo 
"no inserto link2<br />";

//EJECUTO QUERY 3 CON LINK3
if(mysql_query($q3,$link3))
    
$ultimo mysql_insert_id($link3);
    echo 
"se inserto con $ultimo<br />";
else
    echo 
"no inserto link3<br />"
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???