![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
08/03/2011, 18:23
|
![Avatar de jotaincubus](http://static.forosdelweb.com/customavatars/avatar101814_3.gif) | | | Fecha de Ingreso: mayo-2005 Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 8 meses Puntos: 394 | |
Respuesta: Mysql - Insert - Query Cita:
Iniciado por JoseTejada 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_prueba` int(11) NOT NULL AUTO_INCREMENT,
`prueba_texto` varchar(100) DEFAULT NULL,
`prueba_num` int(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 ??? |