Buenas. Tengo problemas con el uso de mysql_insert_id();. Planteo mi problema a ver si alguien puede ayudarme.
Inserto mediante un formulario php un pedido en la tabla pedidos y referencias en la tabla referencias de la siguiente manera:
1)Inserto el pedido, donde npedido es AUTO_INCREMENTED y PRIMARY KEY.
2)Inserto la referencia, donde npedido es FOREIGN KEY.
Mi problema es que no consigo insertar npedido en la tabla referencias.
Os pongo las dos funciones de registro a ver si me dais una solución.
function insertar_pedido($nor,$nmec,$nrec,$nconcesion){
//Declaramos las variables
//Conectamos a mysql. Si falla muestra mensaje
//Seleccionamos la base de datos. Si falla muestra mensaje
//Ejecuta la sentencia sql de insercion
@mysql_query("INSERT INTO pedido (nor,nmec,nrec,nconcesion) VALUES ('$nor','$nmec','$nrec','$nconcesion')");
$npedido=mysql_insert_id();
if (mysql_error($conexion)==""){
echo "<div>Pedido $npedido registrado.</div>";
}
else {
echo "<div>Ha habido un error en la introducción de datos.</div>";
}
}
################################################## ##
function insertar_referencia($npedido,$referencia,$cantidad ,$descripcion,$epedido,$tpedido){
//Declaramos las variables
//Conectamos a mysql. Si falla muestra mensaje
//Seleccionamos la base de datos. Si falla muestra mensaje
//Ejecuta la sentencia sql de insercion
@mysql_query("INSERT INTO referencias (npedido,referencia,cantidad,descripcion,epedido,t pedido) VALUES ('$npedido','$referencia','$cantidad','$descripcio n'),('$epedido'),('$tpedido')");
if (mysql_error($conexion)==""){
echo "<div>Referencia registrada. Ahora puedes insertar otra referencia.</div>\n";
}
else {
echo "<div>Ha habido un error en la introducción de datos.</div>\n";
}
}