Comunidad de diseño web y desarrollo en internet online

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

Citar            
MensajeEscrito el 14 Mar 2014 03:06 pm
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 :

<? 
error_reporting( E_ALL ); 
include "it_includes/it_conf.php";
include "it_includes/it_ClassDB.php";
include "it_includes/it_contenido.php";
$prefijo_1=$prefijo."_ges_eventos";
$prefijo=$prefijo."_ges_evpre";

if($profesion=="Otra")
{   $profesion=$otraprofesion;
}



$eventos_si="";
$eventos_no="";

$ok=0;

if(count($seminarios)==0)
{   header("Location: index1.php?sec=31&msgsem=1");
}   else
   {   foreach($seminarios as $a)
      {   $actual = new Conexion($db_host,$database,$db_user,$db_password);      
         $q_buscar="Select * from $prefijo Where email='$email' and id_evento=$a";
         $r_buscar=mysql_query($q_buscar) or die(mysql_error());
         $n_buscar=mysql_num_rows($r_buscar);
         if($n_buscar==0)
         {   $insertar="Insert Into $prefijo Values (NULL, $a, '$nombres', '$apellidos', '$direccion', '$ciudad', '$telefono', '$email', '$profesion', 'N')";
            mysql_query($insertar) or die(mysql_error());            
            $q_evento="Select * From $prefijo_1 Where id=$a";
            $r_evento=mysql_query($q_evento) or die(mysql_error());
            $f_evento=mysql_fetch_array($r_evento);
            $eventos_si.=$f_evento["nombre"]."<br/>";
         }   else
            {   $q_evento="Select * From $prefijo_1 Where id=$a";
               $r_evento=mysql_query($q_evento) or die(mysql_error());
               $f_evento=mysql_fetch_array($r_evento);
               $eventos_no.=$f_evento["nombre"]."<br/>";
            }
         
      }
      $ok=1;
   }
if($ok==1)
{   $mensaje  = "****************************************<br/>";
   $mensaje .= "Datos del Preinscrito<br/><br/>";
   $mensaje .= "Nombre:: $nombres<br/>";
   $mensaje .= "Apellidos:: $apellidos<br/>";
   $mensaje .= "Dirección:: $direccion<br/>";
   $mensaje .= "Teléfono:: $telefono<br/>";
   $mensaje .= "Profesión:: $profesion<br/>";
   $mensaje .= "Ciudad:$ciudad<br/>";
   $mensaje .= "Email:: $email<br/>";
   $mensaje .= "****************************************<br/>";
   
   $eventos = "<b>Se ha preinscrito en los siguientes eventos:</b><br/><br/>";
   $eventos .= $eventos_si;
   $eventos .= "<br/><br/><b>Ya estaba preinscrito en los siguientes eventos:</b><br/><br/>";
   $eventos.="</br><br/><b>Programación sujeta a cambios sin previo aviso.</b><br/><br/>";
   $eventos .= $eventos_no;
   $eventos .= "****************************************<br/>";
   $mensaje .= "<b>Se ha preinscrito en los siguientes eventos:</b><br/><br/>";
   $mensaje .= $eventos_si;
   $mensaje .= "<br/><br/><b>Ya estaba preinscrito en los siguientes eventos:</b><br/><br/>";
   $mensaje .= $eventos_no;
   $mensaje .= "****************************************<br/></br>";
   $find = array("/bcc\:/i","/Content\-Type\:/i","/cc\:/i","/to\:/i"); 
               
   $mensaje2  = "Gracias, $nombres $apellidos, <br/><br/>";
   $mensaje2 .= $eventos;
   $mensaje2 .= "Uno de nuestros asesores de servicio al cliente lo contactará.:<br/>";
   $mensaje2 .= "Cordialmente, <br/>Instituto del concreto - Asocreto<br/>";

   $mensaje = preg_replace($find, "", $mensaje);
   $mensaje2 = preg_replace($find, "", $mensaje2);      
   $asunto = "Preinscripcion a eventos";
   $asunto2 = "Asocreto : Preinscripcion a eventos";
   //$correo = "[email protected]";
   //[email protected]
   $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$cabeceras .= 'To: Usuario Web' . "\r\n";
$cabeceras .= 'From: www.asocreto.org.co <[email protected]>' . "\r\n";
   mail("[email protected]",$asunto,$mensaje,$cabeceras);
   //mail("[email protected]",$asunto,$instituto,"From: [email protected]\nX-Mailer: PHP/<br/>");
   mail($email,$asunto,$mensaje2,$cabeceras);
               //header ("Location:index.php " ); 
   header("Location: index1.php?sec=31&msg=1&nombre_p=$nombres&apellido_p=$apellidos");
}
?>

Por diegocastiblanco84

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Mar 2014 11:42 pm
No tiene que ver nada con PHP, simplemente tu consulta SQL esta mal

Código MySQL :

Insert Into $prefijo Values (NULL, $a, '$nombres', '$apellidos', '$direccion', '$ciudad', '$telefono', '$email', '$profesion', 'N')";

ese error significa que estas metiendo mas VALUES o menos VALUES de los que tiene la tabla.

Si utilizas:

Código MySQL :

INSERT INTO nombreTabla VALUES (dato1, dato2, dato3, dato4);


Requiere que todos los datos sean ingresados, no te puede faltar ni sobrar.

Si utlizas:

Código MySQL :

INSERT INTO nombreTabla (campo1, campo4) VALUES (dato1, dato4);


Podras ingresar solo los datos que especifiques, asi puedes dejar datos que se llenan de otras consultas o datos como Auto Increment.


Ahora revisa esa consulta y cuenta cuantos campos ingresas, compara con los campos que se necesitan.

Saludos

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 18 Mar 2014 09:44 pm

elporfirio escribió:

No tiene que ver nada con PHP, simplemente tu consulta SQL esta mal

Código MySQL :

Insert Into $prefijo Values (NULL, $a, '$nombres', '$apellidos', '$direccion', '$ciudad', '$telefono', '$email', '$profesion', 'N')";

ese error significa que estas metiendo mas VALUES o menos VALUES de los que tiene la tabla.

Si utilizas:

Código MySQL :

INSERT INTO nombreTabla VALUES (dato1, dato2, dato3, dato4);


Requiere que todos los datos sean ingresados, no te puede faltar ni sobrar.

Si utlizas:

Código MySQL :

INSERT INTO nombreTabla (campo1, campo4) VALUES (dato1, dato4);


Podras ingresar solo los datos que especifiques, asi puedes dejar datos que se llenan de otras consultas o datos como Auto Increment.


Ahora revisa esa consulta y cuenta cuantos campos ingresas, compara con los campos que se necesitan.

Saludos


Siguiendo tu respuesta y encontrando el error, en el segundo valor de VALUES pusiste: $a, en vez de '$a' entrecomillado. Y lo de "NULL" me choca un poco... pero bueno, ese es el error más visible que veo.

Por Zerquix18

8 de clabLevel



Genero:Masculino  

Programador web

chrome
Citar            
MensajeEscrito el 19 Mar 2014 02:00 pm
muchas gracias por tu ayuda verificare e intentare solucionarlo

Por diegocastiblanco84

3 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.