Foros del Web » Programando para Internet » PHP »

error "Column count doesn't match value count at row 1"

Estas en el tema de error "Column count doesn't match value count at row 1" en el foro de PHP en Foros del Web. hola, tengo que arreglar un formulario en el cual al diligenciarlo y enviarlo aparece el error "Column count doesn't match value count at row 1" ...
  #1 (permalink)  
Antiguo 14/03/2014, 07:32
 
Fecha de Ingreso: diciembre-2013
Ubicación: bogota
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
error "Column count doesn't match value count at row 1"

hola, tengo que arreglar un formulario en el cual al diligenciarlo y enviarlo aparece el error "Column count doesn't match value count at row 1" y no se como solucionarlo ya que se muy poco de php, espero alguien me pueda ayudar muchas gracias

el codigo es el siguiente:
Código PHP:
Ver original
  1. <?
  2. error_reporting( E_ALL );
  3. include "it_includes/it_conf.php";
  4. include "it_includes/it_ClassDB.php";
  5. include "it_includes/it_contenido.php";
  6. $prefijo_1=$prefijo."_ges_eventos";
  7. $prefijo=$prefijo."_ges_evpre";
  8.  
  9. if($profesion=="Otra")
  10. {   $profesion=$otraprofesion;
  11. }
  12.  
  13.  
  14.  
  15. $eventos_si="";
  16. $eventos_no="";
  17.  
  18. $ok=0;
  19.  
  20. if(count($seminarios)==0)
  21. {   header("Location: index1.php?sec=31&msgsem=1");
  22. }   else
  23.     {   foreach($seminarios as $a)
  24.         {   $actual = new Conexion($db_host,$database,$db_user,$db_password);      
  25.             $q_buscar="Select * from $prefijo Where email='$email' and id_evento=$a";
  26.             $r_buscar=mysql_query($q_buscar) or die(mysql_error());
  27.             $n_buscar=mysql_num_rows($r_buscar);
  28.             if($n_buscar==0)
  29.             {   $insertar="Insert Into $prefijo Values (NULL, $a, '$nombres', '$apellidos', '$direccion', '$ciudad', '$telefono', '$email', '$profesion', 'N')";
  30.                 mysql_query($insertar) or die(mysql_error());              
  31.                 $q_evento="Select * From $prefijo_1 Where id=$a";
  32.                 $r_evento=mysql_query($q_evento) or die(mysql_error());
  33.                 $f_evento=mysql_fetch_array($r_evento);
  34.                 $eventos_si.=$f_evento["nombre"]."<br/>";
  35.             }   else
  36.                 {   $q_evento="Select * From $prefijo_1 Where id=$a";
  37.                     $r_evento=mysql_query($q_evento) or die(mysql_error());
  38.                     $f_evento=mysql_fetch_array($r_evento);
  39.                     $eventos_no.=$f_evento["nombre"]."<br/>";
  40.                 }
  41.            
  42.         }
  43.         $ok=1;
  44.     }
  45. if($ok==1)
  46. {   $mensaje  = "****************************************<br/>";
  47.     $mensaje .= "Datos del Preinscrito<br/><br/>";
  48.     $mensaje .= "Nombre:: $nombres<br/>";
  49.     $mensaje .= "Apellidos:: $apellidos<br/>";
  50.     $mensaje .= "Dirección:: $direccion<br/>";
  51.     $mensaje .= "Teléfono:: $telefono<br/>";
  52.     $mensaje .= "Profesión:: $profesion<br/>";
  53.     $mensaje .= "Ciudad:$ciudad<br/>";
  54.     $mensaje .= "Email:: $email<br/>";
  55.     $mensaje .= "****************************************<br/>";
  56.    
  57.     $eventos = "<b>Se ha preinscrito en los siguientes eventos:</b><br/><br/>";
  58.     $eventos .= $eventos_si;
  59.     $eventos .= "<br/><br/><b>Ya estaba preinscrito en los siguientes eventos:</b><br/><br/>";
  60.     $eventos.="</br><br/><b>Programación sujeta a cambios sin previo aviso.</b><br/><br/>";
  61.     $eventos .= $eventos_no;
  62.     $eventos .= "****************************************<br/>";
  63.     $mensaje .= "<b>Se ha preinscrito en los siguientes eventos:</b><br/><br/>";
  64.     $mensaje .= $eventos_si;
  65.     $mensaje .= "<br/><br/><b>Ya estaba preinscrito en los siguientes eventos:</b><br/><br/>";
  66.     $mensaje .= $eventos_no;
  67.     $mensaje .= "****************************************<br/></br>";
  68.     $find = array("/bcc\:/i","/Content\-Type\:/i","/cc\:/i","/to\:/i");
  69.                    
  70.     $mensaje2  = "Gracias, $nombres $apellidos, <br/><br/>";
  71.     $mensaje2 .= $eventos;
  72.     $mensaje2 .= "Uno de nuestros asesores de servicio al cliente lo contactará.:<br/>";
  73.     $mensaje2 .= "Cordialmente, <br/>Instituto del concreto - Asocreto<br/>";
  74.  
  75.     $mensaje = preg_replace($find, "", $mensaje);
  76.     $mensaje2 = preg_replace($find, "", $mensaje2);    
  77.     $asunto = "Preinscripcion a eventos";
  78.     $asunto2 = "Asocreto : Preinscripcion a eventos";
  79.     //$correo = "[email protected]";
  80.     $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
  81. $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  82. $cabeceras .= 'To: Usuario Web' . "\r\n";
  83. $cabeceras .= 'From: www.asocreto.org.co <[email protected]>' . "\r\n";
  84.     mail("[email protected]",$asunto,$mensaje,$cabeceras);
  85.     //mail("[email protected]",$asunto,$instituto,"From: [email protected]\nX-Mailer: PHP/<br/>");
  86.     mail($email,$asunto,$mensaje2,$cabeceras);
  87.                     //header ("Location:index.php " );
  88.     header("Location: index1.php?sec=31&msg=1&nombre_p=$nombres&apellido_p=$apellidos");
  89. }
  90. ?>
  #2 (permalink)  
Antiguo 14/03/2014, 09:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: error "Column count doesn't match value count at row 1"

Cita:
Iniciado por diegocastiblanco84 Ver Mensaje
hola, tengo que arreglar un formulario en el cual al diligenciarlo y enviarlo aparece el error "Column count doesn't match value count at row 1" y no se como solucionarlo ya que se muy poco de php, espero alguien me pueda ayudar muchas gracias

(...)
Es que no es un error de PHP, estás creando mal la query en SQL, y MySQL te está devolviendo un error grave.
El tema viene por dos lados: Primero, como DBA te comento que se considera una pésima práctica de los programadores crear dinámicamente las llamadas a las tablas. No sólo acoplan innecesariamente la base a la aplciación, sino que además son proclives a generar ingentes cantidades de errores de sintaxis.
Hay métodos mejores para eso.

En segundo, y yendo a tu problema, la cosa es simple: Estás enviando a una tabla con N columnas un totral de N-/+1 valor, es decir, la cantidad de columnas a insertar no noincide con la cantidad de valores que envías. Pero como no sabemos cuántas son las que tiene la tabla, no podemos decir con precisión en donde metiste la pata.
Eso lo tendrás que ver tu.

Revisa la tabla y verifica que la cantidad de valores enviados sea correcta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: column, configuración-php, count, match, row
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 18:14.