Foros del Web » Programando para Internet » PHP »

INSERT SI o SI

Estas en el tema de INSERT SI o SI en el foro de PHP en Foros del Web. En ocasiones falla la inserccion a la base de datos debido a un fallo de conexion, aun así en determinados scripts necesitamos que guarde el ...
  #1 (permalink)  
Antiguo 10/12/2010, 02:46
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 14 años, 10 meses
Puntos: 5
INSERT SI o SI

En ocasiones falla la inserccion a la base de datos debido a un fallo de conexion, aun así en determinados scripts necesitamos que guarde el contenido.

Mi pregunta es si estaria bien hacer esto, o que problemas podria traer.

En vez de hacer un simple
Código PHP:
Ver original
  1. mysql_query("INSERT INTO tabla VALUES ('$a', '$b', '$c')");

Hacer lo siguiente, en el supuesto que hemos arreglado los caracteres de escape que pudiera traer:
Código PHP:
Ver original
  1. $sql="INSERT INTO tabla VALUES ('$a', '$b', '$c')";
  2. $resultSql=mysql_query($sql);
  3. while($resultSql != 1){
  4. $resultSql=mysql_query($sql);
  5. }

De esta forma obligamos al script a volverlo a intentar indefinidamente hasta hacer la consulta.

Seria bueno usarlo?
  #2 (permalink)  
Antiguo 10/12/2010, 08:43
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: INSERT SI o SI

el verdadero problema es ¿porque falla la conexión?, en tal caso el usar transacciones (en mysql requiere InnoDB u otro motor que lo soporte).

el problema puede ser otro, como falta de permisos, entre ellos la limitacion máxima para inserts o updates.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 10/12/2010, 09:00
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: INSERT SI o SI

leif_sk8er, la solución que planteas, es lo menos viable que puedes hacer.

Te aconsejo que realices test de peticiones, permisos, n conexiones, probar en otro server e intentes diagnosticar el error.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 10/12/2010, 18:43
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: INSERT SI o SI

NO es algo que suceda a menudo, de hecho no pasa casi nunca o una de cada 1 millon, pero puede ser que ¿en determinado momento pueda fallar la conexion por algun aspecto no previsto y de este modo solucionaria el problema?
  #5 (permalink)  
Antiguo 10/12/2010, 19:10
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 13 años, 5 meses
Puntos: 13
Respuesta: INSERT SI o SI

Como dijo maycolalvarez, uso de transacciones y determinar el error es lo más viable, ya que supongamos que tu problema está en la conección, lo que planteas no lo soluciona.
Así que usa transacciones con un manejo de errores con bloques try/catch para evaluar los posibles errores y hacer todo lo posible para realizar esa consulta.
  #6 (permalink)  
Antiguo 14/12/2010, 22:59
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: INSERT SI o SI

OK muchas gracias.

Etiquetas: insert
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 08:22.