Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Insertar datos en varias tablas

Estas en el tema de Insertar datos en varias tablas en el foro de Bases de Datos General en Foros del Web. Hola, necesito insertar datos en varias tablas pero no me funciona este es el código completo del Formulario HTML, Tablas en la base de datos ...
  #1 (permalink)  
Antiguo 14/10/2009, 01:09
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años, 7 meses
Puntos: 1
De acuerdo Insertar datos en varias tablas

Hola, necesito insertar datos en varias tablas pero no me funciona este es el código completo del Formulario HTML, Tablas en la base de datos y Código PHP que no logro hacer que funcione:

*****************************************
BASE DE DATOS (tipo INNODB)

<<<<Tabla Cliente>>>>

id_cliente INT (4) auto_increment (PK)
nombre
foto

<<<Tabla Telefono>>>>

id_telefono INT (4) auto_increment (PK)
id_cliente (FK)
tipo_telefono
codigo_area
numero

<<<<TABLA venta>>>>

id_factura INT (4) auto_increment (PK)
id_cliente (FK)
cantidad

**********************************************
<<<<subir.html>>>>



<form action="upload.php" method="GET">

<br>
<B>Datos del cliente:</B>
<br>
<br>


Nombre: <input name="nombrecliente" type="text">

<br>

Archivo: <input name="imgcliente" type="file">

<br>
<br>

<br>
<B>Teléfonos:</B>
<br>
<br>

Tipo de teléfono: <input name="tipotelefono" type="text">

<br>

Código de área: <input name="codigoarea" type="text">

<br>

Número: <input name="numerotelefono" type="text">

<br>
<br>

<br>
<B>Cantidad de productos comprados:</B>
<br>
<br>

Cantidad: <input name="cantidadventa" type="text">

<br>



<input name="submit" type="submit" value="Upload!">

</form>



*********************************************
upload.php


<?

$host = "localhost";
$user = "mi_db_usuario";
$pass = "mi_pass";
$db = "mi_nombre_de_db";

$connect = mysql_connect($host,$user,$pass);
//$database = mysql_select_db($db, $connect);

//Aquí tomo los datos que puse en el form.html

//CLIENTE

$nombrecliente = $_GET[nombrecliente];
$imgcliente = $_GET[imgcliente];

//TELEFONO

$tipotelefono = $_GET[tipotelefono];
$codigoarea = $_GET[nombrecliente];
$numerotelefono = $_GET[numerotelefono];

//VENTA

$cantidadventa = $_GET[cantidadventa];


//UPLOAD FOTO

$nombre=$_FILES['imgcliente']['name'];

$id = md5(uniqid(rand(), true));

$ext= substr(strrchr($nombre, "."),1);

$nvo= $id.".".$ext;

//Este es el código para guardar la foto en una carpeta del server y poner la url de la misma en un campo llamado "FOTO" en mi tabla SQL


$foto= "imagenes/".$nvo;
move_uploaded_file($_FILES['imgcliente']['tmp_name'], $foto);



$insertSQL1 = "INSERT INTO cliente (nombre, foto) VALUES ('$nombrecliente', '$nvo')";


$insertSQL2 = "INSERT INTO telefono (tipo_telefono, codigo_area, numero) VALUES ('$tipotelefono', '$codigoarea',

'$numerotelefono')";

$insertSQL3 = "INSERT INTO venta (cantidad) VALUES ('$cantidadventa')";


mysql_select_db($db, $connect);

$Result1 = mysql_query($insertSQL1, $connect) or die(mysql_error());

$Result2 = mysql_query($insertSQL2, $connect) or die(mysql_error());

$Result3 = mysql_query($insertSQL3, $connect) or die(mysql_error());


?>


Espero que puedan ayudarme!

Gracias.
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 14/10/2009, 01:13
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: Insertar datos en varias tablas

Haz un echo de $insertSQL1, $insertSQL2 y $insertSQL3 antes de ejecutarlas para ver qué estás ejecutando. Muéstranos esos echos
  #3 (permalink)  
Antiguo 14/10/2009, 01:14
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 62
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: Insertar datos en varias tablas

¿Se llega a ejecutar el mysql_error()? ¿Qué salida te muestra?
  #4 (permalink)  
Antiguo 17/10/2009, 12:17
 
Fecha de Ingreso: octubre-2009
Mensajes: 83
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Insertar datos en varias tablas

prueba con los addslashes o sea si lo haces con los CLIENTES haces lo siguiente:

$nombrecliente = addslashes($_GET['nombrecliente']);
$imgcliente = addslashes($_GET['imgcliente']);

y asi pones con todos.

si no te funciona asi prueba enviando por POST y no por GET.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:28.