Foros del Web » Programando para Internet » PHP »

mysqli_multi_query

Estas en el tema de mysqli_multi_query en el foro de PHP en Foros del Web. Hola, estoy usando esta función "mysqli_multi_query" por primera vez, para ejecutar múltiples consultas en la base de datos. La consultas se ejecutan bien (son una ...
  #1 (permalink)  
Antiguo 01/02/2012, 11:37
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 4 meses
Puntos: 5
mysqli_multi_query

Hola,

estoy usando esta función "mysqli_multi_query" por primera vez, para ejecutar múltiples consultas en la base de datos.

La consultas se ejecutan bien (son una serie de UPDATEs, más de 50 ).
El problema es que seguidamente llamo a la funcion "mysqli_query" para ejecutar un comando SELECT que necesita recoger parte de los datos que se actualizan la primera llamada a la función "mysqli_multi_query".

Los resultados que devuelve el comando SELECT son como si no se hubiera acabado de ejecutar las actualizacones de la primera llamada a "mysqli_multi_query".

Por lo tanto no funciona bien, y no se cual es el motivo, no se si es por que cuando se ejecuta "mysqli_multi_query" lo que hace es pasarle los comandos SQL a la base de datos y después sigue ejecutando el código PHP sin esperar a que terminen de ejecutarse los comandos SQL en la base de datos.

He probado también a comprobar si hay errores en cada uno de los UPDATEs y de esta forma si que termina de ejecutarse antes de la segunda consulta, pero el tiempo de ejecución es significativamente superior, y esta es la razón por la que decidí usar "mysqli_multi_query", porque es más rápido que hacer las actulizaciones de una en una.

Alguien puede ayudarme.
Gracias de antemano.
  #2 (permalink)  
Antiguo 01/02/2012, 12:02
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: mysqli_multi_query

busca commit y rollback
sino hace esto
try{
mysqli_multi_query
}catch{
//error
}
//select

tener bien separadas las partes te va a ayudar mucho
  #3 (permalink)  
Antiguo 01/02/2012, 12:55
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: mysqli_multi_query

Hola, gracias por responder.

Probé a poner el commit, pero sigue ocurriendo lo mismo.
Probé a poner un sleep de 5 segundos entre las dos consultas y funciona correctamente.

Etiquetas: mysql, sql
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 01:19.