Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: eLank0 en 21 Febrero 2014, 05:54 am



Título: INSERT múltiple no funciona correctamente
Publicado por: eLank0 en 21 Febrero 2014, 05:54 am
Buenas gente,

Tengo el siguiente código dentro de un controlador de mi aplicación:

Código
  1. foreach($preguntas as $pregunta) {
  2. $this->pregunta->insertPregunta($pregunta);
  3. }

Donde $preguntas es un arreglo con cuatro arreglos en su interior. El código del método es el siguiente:

Código
  1. public function insertPregunta($pregunta) {
  2. $insert = $this->bdd->prepare("INSERT INTO tpreguntas (Los campos están bien puestos) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
  3. $insert->execute($pregunta);
  4. }

La cuestión es que tengo que hacer una inserción multiple de muchas filas. El programa funciona pero no termina de funcionar, ya que realiza todos los INSERT INTO menos el último.

Cuál puede ser el error?

He buscado por la red pero no he logrado hallar solución a esto.

Salu2!


Título: Re: INSERT múltiple no funciona correctamente
Publicado por: Shell Root en 21 Febrero 2014, 13:12 pm
Pues esta funcionando sólo falta la última fila, siempre se recomienda un debug de las querys que se ejecuten, con el fin de ver en que esta fallando. Entonces supongo que estas utilizando un framework, pues veficia si hay la opción de debug o seguimiento de querys


Título: Re: INSERT múltiple no funciona correctamente
Publicado por: Ethgar en 13 Marzo 2014, 16:55 pm
Podrías meter el INSERT dentro de un for que lo ejecute el numero de veces igual al tamaño del array creo que es count($array)


Título: Re: INSERT múltiple no funciona correctamente
Publicado por: 1mpuls0 en 13 Marzo 2014, 17:00 pm
Te regresa algún error?.
Si utilizas framework activa la opción para que muestre los errores.

Imprime todos los insert antes de ejecutar el query, después el último (si es que te lo muestra) insertalo manualmente en el manejador para ver que ocurre.

Saludos.