Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con Column count doesn't match value count at row 1

Estas en el tema de Problema con Column count doesn't match value count at row 1 en el foro de PHP en Foros del Web. Saludos, soy nuevo en esto de mysql y php estoy modificando un proyecto que encontre , el proyecto consiste en un sistema de gestion escolar. ...
  #1 (permalink)  
Antiguo 04/01/2015, 18:46
 
Fecha de Ingreso: enero-2015
Mensajes: 6
Antigüedad: 9 años, 3 meses
Puntos: 0
Problema con Column count doesn't match value count at row 1

Saludos, soy nuevo en esto de mysql y php estoy modificando un proyecto que encontre , el proyecto consiste en un sistema de gestion escolar. con usuarios, alumnos , carreras , grupos , profesores etc.. el problema es el siguiente tengo la base de datos mysql creada, con una tabla de "carrera" con los siguientes campos: cod_carrera,nombre_carrera, cod_periodo
el problema surge cuando quiero agregar una nueva carrera desde el sistema de gestión y aparece "Column count doesn't match value count at row 1" en cambio el resto del sistema funciona bien, agregar alumno, agregar profesor todo bien, el problema solo se presenta hay al momento de agregar una nueva carrera, necesito ayuda soy novato en esto.

Código MySQL:
Ver original
  1. -- Estructura de tabla para la tabla `carrera`
  2. --
  3.  
  4. CREATE TABLE `carrera` (
  5.   `cod_carrera` int(5) unsigned NOT NULL auto_increment,
  6.   `nombre_carrera` varchar(100) NOT NULL,
  7.   `cod_periodo` int(5) unsigned NOT NULL,
  8.   PRIMARY KEY  (`cod_carrera`),
  9.   KEY `cod_periodo` (`cod_periodo`)
  10.  
  11. --
  12. -- Volcar la base de datos para la tabla `carrera`
  13. --
  14.  
  15. INSERT INTO `carrera` VALUES (1, 'Bachillerato Tecnico Vocacional Comercial Opcion Contador', 1);
  16. INSERT INTO `carrera` VALUES (2, 'Bachillerato Tecnico Vocacional Comercial opcion Mecanica Automotriz', 1);
  17. INSERT INTO `carrera` VALUES (3, 'Bachillerato General', 1);
  18. INSERT INTO `carrera` VALUES (4, 'Bachillerato Tecnico Comercial Opcion Secretaria', 1);



Código PHP:
Ver original
  1. <?php
  2. require("conectar.php");
  3. $sel_per = "select * from periodo";
  4.   $eje_per = mysql_query($sel_per);
  5.   $con_per = mysql_num_rows($eje_per);
  6.   $ver_per = mysql_fetch_array($eje_per);
  7.  
  8.   if($ver_per["estado_periodo"] == "Activo")
  9.   {
  10.  
  11. if(isset($_POST["agregar"]))
  12. {
  13. $carrera = $_POST["carrera"];
  14.  
  15. require("conectar.php");
  16.  
  17. $inser = "insert into carrera values(NULL,'$carrera')";
  18.  
  19. if(mysql_query($inser))
  20.     {
  21.         header("location: ver_carrera.php");
  22.         exit;
  23.     }
  24. else
  25.     {
  26.         echo mysql_error();
  27.     }
  28. }
  29. else
  30. {
  31. ?>
  32. <style type="text/css">
  33. <!--
  34. .a {
  35.     text-align: right;
  36. }
  37. .a {
  38.     font-family: "Comic Sans MS";
  39. }
  40. .asi {
  41.     text-align: center;
  42.     font-family: "Comic Sans MS";
  43.     font-size: 24px;
  44. }
  45. -->
  46. </style>
  47. <form name="form1" method="post" action="">
  48.   <table width="607" border="0" align="center">
  49.     <tr>
  50.       <td width="290">&nbsp;</td>
  51.       <td width="300">&nbsp;</td>
  52.     </tr>
  53.     <tr>
  54.       <td colspan="2" bgcolor="#0099CC" class="asi">Agregar Carrera</td>
  55.     </tr>
  56.     <tr>
  57.       <td>&nbsp;</td>
  58.       <td>&nbsp;</td>
  59.     </tr>
  60.     <tr>
  61.       <td class="a">Nombre de la Carrera:</td>
  62.       <td><label>
  63.         <textarea name="carrera" id="carrera" cols="45" rows="3"></textarea>
  64.       </label></td>
  65.     </tr>
  66.     <tr>
  67.       <td>&nbsp;</td>
  68.       <td>&nbsp;</td>
  69.     </tr>
  70.     <tr>
  71.       <td colspan="2" class="asi"><label>
  72.         <input type="submit" name="agregar" id="agregar" value="Agregar Carrera">
  73.       </label></td>
  74.     </tr>
  75.   </table>
  76. </form>
  77. <?php
  78. }
  79.   }
  80.   else
  81.   {
  82.           ?>
  83.       <script>
  84.       alert('El Periodo ya esta Cerrado, Abra uno Nuevo');
  85.       </script>
  86.       <?php
  87.   }
  88. ?>
  #2 (permalink)  
Antiguo 04/01/2015, 19:11
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Problema con Column count doesn't match value count at row 1

$inser = "insert into carrera values(NULL,'$carrera')";

asi no es un insert
para el auto increment no coloques nada

$inser ='INSERT INTO carrera (nombre_carrera) VALUES ($carrera)';

si no vas a colocar "cod_periodo" pues definela para que acepte valores nulos.

de lo contrario tendras el siguiente Problema:
Warning: #1366 Incorrect integer value: '' for column 'cod_periodo' at row 1
  #3 (permalink)  
Antiguo 05/01/2015, 09:47
 
Fecha de Ingreso: enero-2015
Mensajes: 6
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema con Column count doesn't match value count at row 1

lo que hize fue esto

$inser = "insert into carrera values('$cod_carrera','$nombre_carrera','$cod_peri odo')";

ya no me da el error pero ahora no me muestra el nombre de la carrera agregada, no aparece ni en la base de datos, ni en el sistema



  #4 (permalink)  
Antiguo 05/01/2015, 10:26
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Problema con Column count doesn't match value count at row 1

$cod_peri odo ≠ $cod_periodo
  #5 (permalink)  
Antiguo 05/01/2015, 10:42
 
Fecha de Ingreso: enero-2015
Mensajes: 6
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema con Column count doesn't match value count at row 1

el código estaba bien, fue error mio al publicarlo, sigo con el problema no me muestra el nombre de la carrera.

Código PHP:
Ver original
  1. $inser = "insert into carrera values('$cod_carrera','$nombre_carrera','$cod_periodo')";

Última edición por ultrax0880; 05/01/2015 a las 10:48
  #6 (permalink)  
Antiguo 05/01/2015, 11:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema con Column count doesn't match value count at row 1

La verdad es que ni siquiera estoy seguro de que se esté ejecutando algo...
Ese formulario noparece estar invocando nada:
Código HTML:
Ver original
  1. -->
  2. <form name="form1" method="post" action="">
  3.   <table width="607" border="0" align="center">
  4.     <tr>
  5.       <td width="290">&nbsp;</td>
  6.       <td width="300">&nbsp;</td>
  7.     </tr>
  8.     <tr>
  9.       <td colspan="2" bgcolor="#0099CC" class="asi">Agregar Carrera</td>
  10.     </tr>
  11.     <tr>
  12.       <td>&nbsp;</td>
  13.       <td>&nbsp;</td>
  14.     </tr>
  15.     <tr>
  16.       <td class="a">Nombre de la Carrera:</td>
  17.       <td><label>
  18.         <textarea name="carrera" id="carrera" cols="45" rows="3"></textarea>
  19.       </label></td>
  20.     </tr>
  21.     <tr>
  22.       <td>&nbsp;</td>
  23.       <td>&nbsp;</td>
  24.     </tr>
  25.     <tr>
  26.       <td colspan="2" class="asi"><label>
  27.         <input type="submit" name="agregar" id="agregar" value="Agregar Carrera">
  28.       </label></td>
  29.     </tr>
  30.   </table>
  31. </form>
¿"action" no debería indicar el .php que ejecuta, o yo estoy muy perdido?

REconozco que no estoy muy práctico con HTML, pero a mi me parece que el script tiene algun tipo de problemas...

En cualquier caso, deberías hacer que te muestre la query antes de ejecutarse, para ver si realmente es´ta recibiendo algun dato, más alla de si CREES que si lo haga.
Todo debe verificarse. Eso es debuggear...
__________________
¿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 05/01/2015, 12:24
 
Fecha de Ingreso: enero-2015
Mensajes: 6
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema con Column count doesn't match value count at row 1

tengo una solución dentro del mismo sistema si le doy a una opcion que dice "editar carrera" puedo agregarle el nombre y ya aparecerá en el sistema y la bd ahora hay un problema al querer agregar un grado me sale el siguiente error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '==Seleccione Su Carrera==)' at line 1

Código PHP:
Ver original
  1. <?php
  2. require("conectar.php");
  3. $sel_per = "select * from periodo";
  4.   $eje_per = mysql_query($sel_per);
  5.   $con_per = mysql_num_rows($eje_per);
  6.   $ver_per = mysql_fetch_array($eje_per);
  7.  
  8.   if($ver_per["estado_periodo"] == "Activo")
  9.   {
  10.  
  11. if(isset($_POST["agregar"]))
  12. {
  13. require("conectar.php");
  14. $nombre = $_POST["nombre"];
  15. $carrera = $_POST["carrera"];
  16.  
  17. $inser = "insert into grado values(NULL,'$nombre',$carrera)";
  18.  
  19. if(mysql_query($inser))
  20.     {
  21.         header("location: ver_grado.php");
  22.         exit;
  23.     }
  24. else
  25.     {
  26.         echo mysql_error();
  27.     }
  28. }
  29. else
  30. {
  31. ?>
  32. <style type="text/css">
  33. <!--
  34. .centro {
  35.     text-align: center;
  36.     font-family: "Comic Sans MS";
  37.     font-size: 24px;
  38. }
  39. .letra {
  40.     font-family: "Comic Sans MS";
  41.     text-align: right;
  42. }
  43. -->
  44. </style>
  45. <form name="form1" method="post" action="">
  46.   <table width="700" border="0" align="center">
  47.     <tr>
  48.       <td colspan="2" bgcolor="#0099CC" class="centro">Datos Requeridos</td>
  49.     </tr>
  50.     <tr>
  51.       <td width="344">&nbsp;</td>
  52.       <td width="346">&nbsp;</td>
  53.     </tr>
  54.     <tr>
  55.       <td class="letra">Seleccione Su Carrera:</td>
  56.       <td>
  57.       <?php
  58.         require ("conectar.php");
  59.          
  60.         $sql="select * from carrera";
  61.         $ejecuta=mysql_query($sql);
  62.          
  63.         echo"<select name=carrera onChange='submit();'><option>==Seleccione Su Carrera==";
  64.           if($ejecuta>0)
  65.             {
  66.                   while($todo=mysql_fetch_array($ejecuta))
  67.                   {
  68.                     echo "<option value='$todo[cod_carrera]' " ;
  69.                         if($todo["cod_carrera"]==$carrera)
  70.                             {
  71.                                 echo "selected='selected'";
  72.                             }
  73.         echo ">";
  74.                     echo $todo["nombre_carrera"];
  75.                    
  76.                  }
  77.                  
  78.           echo"</select>";
  79.           echo "<input name=oculto type=hidden value=1>";
  80.           }
  81.           else
  82.           {
  83.           echo mysql_error();
  84.           }
  85.           ?>
  86.           </td>
  87.     </tr>
  88.     <tr>
  89.       <td>&nbsp;</td>
  90.       <td>&nbsp;</td>
  91.     </tr>
  92.   </table>
  93.   <?php
  94.   if($_POST["oculto"]==1)
  95.   {
  96.   ?>
  97.   <table width="700" border="0" align="center">
  98.     <tr>
  99.       <td colspan="2" bgcolor="#99CC66" class="centro">Agregar Grado</td>
  100.     </tr>
  101.     <tr>
  102.       <td width="245">&nbsp;</td>
  103.       <td width="245">&nbsp;</td>
  104.     </tr>
  105.     <tr>
  106.       <td class="letra">Nombre del Grado:</td>
  107.       <td><label>
  108.         <input name="nombre" type="text" id="nombre" size="40">
  109.       </label></td>
  110.     </tr>
  111.     <tr>
  112.       <td>&nbsp;</td>
  113.       <td>&nbsp;</td>
  114.     </tr>
  115.     <tr>
  116.       <td colspan="2" class="centro"><label>
  117.         <input type="submit" name="agregar" id="agregar" value="Agregar Grado">
  118.       </label></td>
  119.     </tr>
  120.   </table>
  121. </form>
  122. <?php
  123.   }
  124. }
  125.   }
  126.   else
  127.   {
  128.           ?>
  129.       <script>
  130.       alert('El Periodo ya esta Cerrado, Abra uno Nuevo');
  131.       </script>
  132.       <?php
  133.   }
  134. ?>



Código SQL:
Ver original
  1. --
  2. -- Estructura de tabla para la tabla `grado`
  3. --
  4.  
  5. CREATE TABLE `grado` (
  6.   `cod_grado` INT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  7.   `nombre_grado` VARCHAR(100) NOT NULL,
  8.   `cod_carrera` INT(5) UNSIGNED NOT NULL,
  9.   PRIMARY KEY  (`cod_grado`),
  10.   KEY `cod_carrera` (`cod_carrera`)
  11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;
  12.  
  13. --
  14. -- Volcar la base de datos para la tabla `grado`
  15. --
  16.  
  17. INSERT INTO `grado` VALUES (1, 'Primero', 1);
  18. INSERT INTO `grado` VALUES (2, 'Segundo', 4);
  19. INSERT INTO `grado` VALUES (3, 'Segundo', 1);
  20. INSERT INTO `grado` VALUES (4, 'Tercero', 1);
  21. INSERT INTO `grado` VALUES (5, 'Tercero', 4);
  22. INSERT INTO `grado` VALUES (6, 'Primero', 4);
  23. INSERT INTO `grado` VALUES (7, 'Primero', 2);
  24. INSERT INTO `grado` VALUES (8, 'Segundo', 2);
  25. INSERT INTO `grado` VALUES (9, 'Tercero', 2);
  26. INSERT INTO `grado` VALUES (10, 'Primero', 3);
  27. INSERT INTO `grado` VALUES (11, 'Segundo', 3);
  28. INSERT INTO `grado` VALUES (12, 'Septimo', 1);

Etiquetas: column, count, match, mysql, row, select, sql, tabla, usuarios
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 20:02.