![]() |
Error al insertar varios registros
Buenos dias, he estado trabajando con PHP y he hecho un for para insertar una serie de respuestas a una encuesta que se carga dinamicamente pero al momento de insertar algunas respuestas si se insertan y otras no se insertan en mi base de datos MYSQL, he comprobado que es aleatorio no siempre se insertan las mismas respuestas por eso creo que es algo que me hace falta para manejar la transaccionalidad, si me puedieran ayudar al respecto les agradeceria al respecto, anexo el codigo usado:
Aca recorro el formulario y llamo la funcion guardarResPUMOD que manda a ejecutar el Query. Código PHP:
Código PHP:
Código PHP:
|
Buenas tardes, hice una modificacion a mi codigo, agregando el string de conexion al insert, ahora ya confirme que siempre me inserte la primera pregunta, cosa que no pasaba antes, pero en los registros que fallan me muestra este error "Warning: mysql_query(): supplied argument is not a valid MySQL-Link", acaso debo cerrar la conexion a la BD o que debo hacer para evitar este error, gracias. Anexo el codigo como quedo despues de mi ultimo cambio.
Código PHP:
|
Colega... te ayudo...
Hace poco publique un código en el sitio www.mygnet.com, pero te lo ofresco por acá... es este
// Esta es la página form.php <form id="form1" name="form1" method="post" action="form_1.php"> <input name="cantidad" type="text" id="cantidad" value="" /> <input type="submit" name="Submit" value="Agregar cantidad de registros" /> </form> //Esta es la página form_1.php <? if( isset( $_POST["submit"] ) ) // se envio el formulario? echo "Se ha insertado los registros satisfactoriamente"; for($x =0 ; $x <= $_POST['cantidad'] ; $x++) // recorremos los posibles registros, puedes poner los que necesites // se recuperan cada uno de los datos del form siempre y cuando se hayan enviado, de lo contrario los omite if(isset($_POST["opcStatus" . $x])) // se envio el registro opcStatus1, opcStatus2, ... etc. ? { // obtenemos cada uno de los datos $txtNombre= $_POST["txtNombre".$x ]; $txtApellidos=$_POST["txtApellido".$x ]; // tu cadena correspondiente para la actualizacion de datos. /*Justo aqui es donde tu colocas el codigo correspondiente a la actualizacion 26. 27.o a la insercion de los datos a tu base de datos, este script se limita a 28. 29.proponer la funcionalidad, el resto esta de tu parte. */ $insertSQL="INSERT INTO usuarios (nombre, apellidos) VALUES ('$txtNombre', '$txtApellidos')"; mysql_select_db($database_my, $my); $Result1 = mysql_query($insertSQL, $my) or die(mysql_error()); } ?> </p> <p> <? $cantidad=1; While($cantidad<=$_POST['cantidad']){ ?> </p> <form method="POST"> <p>Registro <? echo "$cantidad"; ?><br> <br> Nombre: <input type="text" name="txtNombre<? echo "$cantidad";?>"> Apellidos: <input type="text" name="txtApellido<? echo "$cantidad";?>"> <br> : <input name="opcStatus<? echo "$cantidad";?>" type="hidden""> <input name="cantidad" type="hidden" id="cantidad" value="<? echo "$_POST[cantidad]"; ?>" /> </p> <hr> <? $cantidad++; } ?> <input type ="submit" name="submit" value="OK"> </form> /// base de datos de MySQL CREATE TABLE usuarios ( ID int(3) NOT NULL auto_increment, nombre varchar(15) NOT NULL, apellidos varchar(25) NOT NULL, PRIMARY KEY (ID) ) |
La franja horaria es GMT +2. Ahora son las 00:29:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi