Foros del Web » Programando para Internet » PHP »

PHP no inserta datos a tabla mysql

Estas en el tema de PHP no inserta datos a tabla mysql en el foro de PHP en Foros del Web. Hola estoy tratando de insertar datos que tengo en varios formularios ya que si uno estos formularios sería demasiado grande, así que guardo los datos ...
  #1 (permalink)  
Antiguo 28/07/2014, 12:37
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 2
Pregunta PHP no inserta datos a tabla mysql

Hola estoy tratando de insertar datos que tengo en varios formularios ya que si uno estos formularios sería demasiado grande, así que guardo los datos en sesiones y luego al final inserto los valores de las sesiones, la idea es que el script insere los datos y luego de insertarlos sea redirigido a una página, el problema es que cuando lleno los formularios, soy redireccionado pero no se insertan los dtos y no me aparece error, este es el script que estoy usando:

Código PHP:
Ver original
  1.     $id = $_GET['puesto'];
  2.     $test = $_GET['test'];
  3.  
  4.    
  5.     include("../Conexion/conexion.php");
  6.     global $conexion;
  7.     $fechaHoy = date("Y-m-d");
  8.     $fechaHoy2 = date("Y-m-d H:i:s");
  9.     $consulta = mysqli_query($conexion, "SELECT IdPuesto FROM PuestoSeccion1 WHERE IdEmpleado = '".$id."'");
  10.     $fila = mysqli_fetch_assoc($consulta);
  11.    
  12.     mysqli_query($conexion, "INSERT INTO ipv(IdEmpleado, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, p61, p62, p63, p64, p65, p66, p67, p68, p69, p70, p71, p72, p73, p74, p75, p76, p77, p78, p79, p80, p81, p82, p83, p84, p85, p86, p87, IdPuesto, FechaHoy, FechaOrden) VALUES('".$_SESSION['ipv1']."', '".$_SESSION['ipv2']."', '".$_SESSION['ipv3']."', '".$_SESSION['ipv4']."', '".$_SESSION['ipv5']."', '".$_SESSION['ipv6']."', '".$_SESSION['ipv7']."', '".$_SESSION['ipv8']."', '".$_SESSION['ipv9']."', '".$_SESSION['ipv10']."', '".$_SESSION['ipv11']."', '".$_SESSION['ipv12']."', '".$_SESSION['ipv13']."', '".$_SESSION['ipv14']."', '".$_SESSION['ipv15']."', '".$_SESSION['ipv16']."', '".$_SESSION['ipv17']."', '".$_SESSION['ipv18']."', '".$_SESSION['ipv19']."', '".$_SESSION['ipv20']."', '".$_SESSION['ipv21']."', '".$_SESSION['ipv22']."', '".$_SESSION['ipv23']."', '".$_SESSION['ipv24']."', '".$_SESSION['ipv25']."', '".$_SESSION['ipv26']."', '".$_SESSION['ipv27']."', '".$_SESSION['ipv28']."', '".$_SESSION['ipv29']."', '".$_SESSION['ipv30']."', '".$_SESSION['ipv31']."', '".$_SESSION['ipv32']."', '".$_SESSION['ipv33']."', '".$_SESSION['ipv34']."', '".$_SESSION['ipv35']."', '".$_SESSION['ipv36']."', '".$_SESSION['ipv37']."', '".$_SESSION['ipv38']."', '".$_SESSION['ipv39']."', '".$_SESSION['ipv40']."', '".$_SESSION['ipv41']."', '".$_SESSION['ipv42']."', '".$_SESSION['ipv43']."', '".$_SESSION['ipv44']."', '".$_SESSION['ipv45']."', '".$_SESSION['ipv46']."', '".$_SESSION['ipv47']."', '".$_SESSION['ipv48']."', '".$_SESSION['ipv50']."', '".$_SESSION['ipv51']."', '".$_SESSION['ipv52']."', '".$_SESSION['ipv53']."', '".$_SESSION['ipv54']."', '".$_SESSION['ipv55']."', '".$_SESSION['ipv56']."', '".$_SESSION['ipv57']."', '".$_SESSION['ipv58']."', '".$_SESSION['ipv59']."', '".$_SESSION['ipv60']."', '".$_SESSION['ipv61']."', '".$_SESSION['ipv62']."', '".$_SESSION['ipv63']."', '".$_SESSION['ipv64']."', '".$_SESSION['ipv65']."', '".$_SESSION['ipv66']."', '".$_SESSION['ipv67']."', '".$_SESSION['ipv68']."', '".$_SESSION['ipv69']."', '".$_SESSION['ipv70']."', '".$_SESSION['ipv71']."', '".$_SESSION['ipv72']."', '".$_SESSION['ipv73']."', '".$_SESSION['ipv74']."', '".$_SESSION['ipv75']."', '".$_POST['ipv76']."', '".$_POST['ipv77']."', '".$_POST['ipv78']."', '".$_POST['ipv79']."', '".$_POST['ipv80']."', '".$_POST['ipv81']."', '".$_POST['ipv82']."', '".$_POST['ipv83']."', '".$_POST['ipv84']."', '".$_POST['ipv85']."', '".$_POST['ipv86']."', '".$_POST['ipv87']."', '".$fila['IdPuesto']."', '".$fechaHoy."', '".$fechaHoy2."')");
  13.    
  14.     mysqli_query($conexion, "INSERT INTO TestHechos(IdTestHecho, IdEmpleado, IdTest) VALUES(NULL, '".$id."', '".$test."')");
  15.    
  16.     header("Location:index.php?puesto=".$id);

Como pueden ver tengo dos insert y solo funciona el segundo que es pequeño pero el primero no sirve para nada, muchas gracias por leer y ayudarme.
  #2 (permalink)  
Antiguo 28/07/2014, 12:47
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 5 años, 8 meses
Puntos: 67
Respuesta: PHP no inserta datos a tabla mysql

Has intentado a insertarlo sin destruir la sesión haber si te los inserta?
  #3 (permalink)  
Antiguo 28/07/2014, 12:48
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 8 años, 10 meses
Puntos: 288
Respuesta: PHP no inserta datos a tabla mysql

activa todos los errores y no redicciones
luego mostranos el error
// header("Location:index.php?puesto=".$id);
  #4 (permalink)  
Antiguo 28/07/2014, 12:55
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 2
Respuesta: PHP no inserta datos a tabla mysql

Gracias pero ya intente no destruir la sesion y tambien le quite el redireccionamiento, pero sigue igual y no aparece ningún error.
  #5 (permalink)  
Antiguo 28/07/2014, 13:18
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 5 años, 8 meses
Puntos: 67
Respuesta: PHP no inserta datos a tabla mysql

Muestranos si te aparece algun error o algo sino no podremos saber es lo que sucede.

Saludos.
  #6 (permalink)  
Antiguo 28/07/2014, 13:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: PHP no inserta datos a tabla mysql

Como mínimo (y acá vamos una vez más), deberías asegurarte que esa query no haya generado errores.
Tal como pones en tu script, estas asumiendo que jamás hay errores, y eso es algo que no puedes dar NUNCA por sentado.
Ponle un or die() al menos...

Código PHP:
Ver original
  1. mysqli_query($conexion, "INSERT INTO ipv(IdEmpleado, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, p61, p62, p63, p64, p65, p66, p67, p68, p69, p70, p71, p72, p73, p74, p75, p76, p77, p78, p79, p80, p81, p82, p83, p84, p85, p86, p87, IdPuesto, FechaHoy, FechaOrden) VALUES('".$_SESSION['ipv1']."', '".$_SESSION['ipv2']."', '".$_SESSION['ipv3']."', '".$_SESSION['ipv4']."', '".$_SESSION['ipv5']."', '".$_SESSION['ipv6']."', '".$_SESSION['ipv7']."', '".$_SESSION['ipv8']."', '".$_SESSION['ipv9']."', '".$_SESSION['ipv10']."', '".$_SESSION['ipv11']."', '".$_SESSION['ipv12']."', '".$_SESSION['ipv13']."', '".$_SESSION['ipv14']."', '".$_SESSION['ipv15']."', '".$_SESSION['ipv16']."', '".$_SESSION['ipv17']."', '".$_SESSION['ipv18']."', '".$_SESSION['ipv19']."', '".$_SESSION['ipv20']."', '".$_SESSION['ipv21']."', '".$_SESSION['ipv22']."', '".$_SESSION['ipv23']."', '".$_SESSION['ipv24']."', '".$_SESSION['ipv25']."', '".$_SESSION['ipv26']."', '".$_SESSION['ipv27']."', '".$_SESSION['ipv28']."', '".$_SESSION['ipv29']."', '".$_SESSION['ipv30']."', '".$_SESSION['ipv31']."', '".$_SESSION['ipv32']."', '".$_SESSION['ipv33']."', '".$_SESSION['ipv34']."', '".$_SESSION['ipv35']."', '".$_SESSION['ipv36']."', '".$_SESSION['ipv37']."', '".$_SESSION['ipv38']."', '".$_SESSION['ipv39']."', '".$_SESSION['ipv40']."', '".$_SESSION['ipv41']."', '".$_SESSION['ipv42']."', '".$_SESSION['ipv43']."', '".$_SESSION['ipv44']."', '".$_SESSION['ipv45']."', '".$_SESSION['ipv46']."', '".$_SESSION['ipv47']."', '".$_SESSION['ipv48']."', '".$_SESSION['ipv50']."', '".$_SESSION['ipv51']."', '".$_SESSION['ipv52']."', '".$_SESSION['ipv53']."', '".$_SESSION['ipv54']."', '".$_SESSION['ipv55']."', '".$_SESSION['ipv56']."', '".$_SESSION['ipv57']."', '".$_SESSION['ipv58']."', '".$_SESSION['ipv59']."', '".$_SESSION['ipv60']."', '".$_SESSION['ipv61']."', '".$_SESSION['ipv62']."', '".$_SESSION['ipv63']."', '".$_SESSION['ipv64']."', '".$_SESSION['ipv65']."', '".$_SESSION['ipv66']."', '".$_SESSION['ipv67']."', '".$_SESSION['ipv68']."', '".$_SESSION['ipv69']."', '".$_SESSION['ipv70']."', '".$_SESSION['ipv71']."', '".$_SESSION['ipv72']."', '".$_SESSION['ipv73']."', '".$_SESSION['ipv74']."', '".$_SESSION['ipv75']."', '".$_POST['ipv76']."', '".$_POST['ipv77']."', '".$_POST['ipv78']."', '".$_POST['ipv79']."', '".$_POST['ipv80']."', '".$_POST['ipv81']."', '".$_POST['ipv82']."', '".$_POST['ipv83']."', '".$_POST['ipv84']."', '".$_POST['ipv85']."', '".$_POST['ipv86']."', '".$_POST['ipv87']."', '".$fila['IdPuesto']."', '".$fechaHoy."', '".$fechaHoy2."')")
  2. or die("Error al ejecutar la query: ".mysql_error($conexion));
  3.    
  4.     mysqli_query($conexion, "INSERT INTO TestHechos(IdTestHecho, IdEmpleado, IdTest) VALUES(NULL, '".$id."', '".$test."')")
  5. or die("Error al ejecutar la query: ".mysql_error($conexion));
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 28/07/2014, 14:36
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 2
Respuesta: PHP no inserta datos a tabla mysql

Gracias ya coloque el lo que me dijiste y el error que aparece es el siguiente:

Error al ejecutar la query: Column count doesn't match value count at row 1
  #8 (permalink)  
Antiguo 28/07/2014, 14:40
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 2
Respuesta: PHP no inserta datos a tabla mysql

Cita:
Iniciado por MLDGATO Ver Mensaje
Gracias ya coloque el lo que me dijiste y el error que aparece es el siguiente:

Error al ejecutar la query: Column count doesn't match value count at row 1
Ya funciona, la verdad es muy mala práctica la mía no colocar el or die, muchas gracias.
  #9 (permalink)  
Antiguo 28/07/2014, 14:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: PHP no inserta datos a tabla mysql

Es un error conepctual común en los que recién se inciian...



Mira, lo que más tiempo lleva, y lo más hartante, es poner todas las validaciones que se necesitan para que las cosas anden bien, y si no andan al menos poder saber qué falla.
SI en las aplicaciones quitaras todos los controles de error, muy probablemente los códigos tendrían menos de un 30% de longitud. Pero si lo haces, jamás sabrías dónde falllo y por qué.
Como ahora.


Posdata: Una tabla con semejante cantidad de columnas me huele a tabla sin normalziar...
¿Estás seguro que la estructura de esa base está bien?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 28/07/2014, 14:53
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 8 años, 10 meses
Puntos: 288
Respuesta: PHP no inserta datos a tabla mysql

sabes activar los errores de php?
  #11 (permalink)  
Antiguo 28/07/2014, 20:18
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 2
Respuesta: PHP no inserta datos a tabla mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Es un error conepctual común en los que recién se inciian...



Mira, lo que más tiempo lleva, y lo más hartante, es poner todas las validaciones que se necesitan para que las cosas anden bien, y si no andan al menos poder saber qué falla.
SI en las aplicaciones quitaras todos los controles de error, muy probablemente los códigos tendrían menos de un 30% de longitud. Pero si lo haces, jamás sabrías dónde falllo y por qué.
Como ahora.


Posdata: Una tabla con semejante cantidad de columnas me huele a tabla sin normalziar...
¿Estás seguro que la estructura de esa base está bien?
Si creo que está bien la normalización, mi tabla corresponde a las respuestas de un examen psicológico que contiene 87 preguntas y en cada columna guardo la respuesta de las 87 preguntas, además de las 87 preguntas guardo el ID del usuario, el puesto al que aplica (ya que es una prueba psicológica para aplicar a una plaza de trabajo) y dos datos de fechas.
  #12 (permalink)  
Antiguo 28/07/2014, 20:18
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 106
Antigüedad: 8 años, 8 meses
Puntos: 2
Respuesta: PHP no inserta datos a tabla mysql

Cita:
Iniciado por Patriarka Ver Mensaje
sabes activar los errores de php?
Si amigo muchas gracias por tu ayuda
  #13 (permalink)  
Antiguo 28/07/2014, 21:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: PHP no inserta datos a tabla mysql

Cita:
Iniciado por MLDGATO Ver Mensaje
Si creo que está bien la normalización, mi tabla corresponde a las respuestas de un examen psicológico que contiene 87 preguntas y en cada columna guardo la respuesta de las 87 preguntas, además de las 87 preguntas guardo el ID del usuario, el puesto al que aplica (ya que es una prueba psicológica para aplicar a una plaza de trabajo) y dos datos de fechas.
Bueno, a pesar de lo que te parece, con eso me acabas de confirmar que esa tabla está mal normalizada (o sin normalizar).
Espero que no te traiga problemas luego, si quieres hacer consultas estadísticas... serán un dolor de cabeza.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 28/07/2014, 22:45
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 8 años, 10 meses
Puntos: 288
Respuesta: PHP no inserta datos a tabla mysql

Cita:
Iniciado por MLDGATO Ver Mensaje
Si amigo muchas gracias por tu ayuda
ok, entonces debe mostrar un error de log
si no te los muestra en pantalla es por que no activaste los errores

la segunda opcion y la mas segura donde vas a encontrar el error es en el log de errores del apache, o si es un virtualhost estan en donde hayas definido el archivo de logs

y contamos donde encontraste el error
  #15 (permalink)  
Antiguo 29/07/2014, 00:12
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 11 años, 3 meses
Puntos: 15
Respuesta: PHP no inserta datos a tabla mysql

No guarde de esa forma las respuestas haga una tabla intermedia por ejemplo

Tabla: preguntas
Tablas: respuestas (aqui lleva el id de la pregunta para las cuales van a sevir estas respuestas)
Tabla: resueltas (aqui iria la respuesta que se dío y quien la dio porque me imagino que el usuario que la responda estara en session

Y eso es solo un ejemplo dependiendo de la necesidad se daria una solucion distinta pero mucho mejor que la que propone, deberia pensar en replantear la forma como esta guardando los datos.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co

Etiquetas: insert-tabla
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 15:55.