PHP - insertar en varias tablas

   
Vista:

insertar en varias tablas

Publicado por X3ro (2 intervenciones) el 02/10/2007 03:59:04
Un cordial saludoa todos. Mi problema es el siguiente: tengo un formulario el cual necesito enviar los datos a varias tablas a la vez. He leido otros comentarios sobre como hacerlo pero no lo he podido lograr. espero me puedan ayudar. aki les pongo el codigo a ver si encontramos solucion.

$consulta = "select * from general where t_permanencia = '".$_POST[text1]."' "; //
$resultado= mysql_query ($consulta); // ejecuta la consulta y guarda el resultado en la var
$num_filas= mysql_num_rows ($resultado);
if (!$num_filas) //si no se encontro lo agrega
{
$resultado = mysql_query("insert into general values ('', '".$_POST[text1]."', '".$_POST[text2]."', '".$_POST[text3]."', '".$_POST[text4]."', '".$_POST[text5]."')");

$result = mysql_query("insert into d_personales values ('', '".$_POST[text6]."', '".$_POST[text7]."', '".$_POST[text8]."', '".$_POST[text9]."', '".$_POST[text10]."')");
mysql_close();
}
else // si existe le enviamos un mensaje al usuario
{
?>
<script language="javascript">
alert("La descripcion ya existe\n Intente con otra.")
history.go=(-1)
</script>>
<?php
}

Si me inserta pero en una sola tabla.... en la otra no.
gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:insertar en varias tablas

Publicado por Diego Romero (1450 intervenciones) el 02/10/2007 06:36:26
Aparentemente los insert están bien pero no estoy seguro que todos los datos pasados por $_POST estén actualmente pasándose o los que se pasan sean coherentes.

A continuación de cada mysql_query() pon esta sentencia a modo de depuración:

echo mysql_errno($link) . ": " . mysql_error($link);

(donde $link es el identificador de la conexión con MySQL que te devuelve mysql_connect())

Eso te dirá si hay algún error.

PD: NUNCA uses $_POST como parte de una sentencia SQL y mucho menos cuando usas INSERT, sería muy facil para un usuario con malas intenciones llenarte la base de datos con basura. Antes bien controla todos los datos POST para ver si tienen sentido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insertar en varias tablas

Publicado por x3ro (2 intervenciones) el 02/10/2007 15:15:30
Amigo Diego, muxas gracias por responder. Aun no he podido solucionar. He colocado las instrucciones al final de c/m_query y me da otro error, el cual no se si era algo ke necesitabas para comprender.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\nf\accion_form1.php on line 8

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\nf\accion_form1.php on line 14

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\nf\accion_form1.php on line 14
:
Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\nf\accion_form1.php on line 17

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\nf\accion_form1.php on line 17
:
me lo envia todas esas veces. la linea 8 es justamente en el mysql_num_rows y las otras las instrucciones ke agregué. A ke te refieres con datos coherentes?(sera como los acepta la bd? texto,num etc?) los campos son tipo varchar
Ah.. muxas gracias por el dato de los post, lo tendre muy en cuenta, justamente necesito trabajar con mas seguridad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insertar en varias tablas

Publicado por Diego Romero (1450 intervenciones) el 02/10/2007 21:56:41
El primer mensaje de error te está diciendo que $resultado no es un resultado de una consulta SQL, es decir, esa variable no es la misma que la que está a la izquierda del = de mysql_query(). Algo haz cambiado.

El resto de los mensajes de error te está diciendo que la variable que le pasas como parámetro a mysql_errno() no es la variable que está a la izquierda de mysql_connect().
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar