Foros del Web » Programando para Internet » PHP »

mysql query Column count doesn't match value count at row 1

Estas en el tema de mysql query Column count doesn't match value count at row 1 en el foro de PHP en Foros del Web. Chicos necesito una ayudita, ese error me aparece cuando intento insertar valores a traves de un formulario. Codigo Código HTML: <form action= "agregarTarea.php" method= "post" ...
  #1 (permalink)  
Antiguo 09/11/2012, 13:11
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta mysql query Column count doesn't match value count at row 1

Chicos necesito una ayudita, ese error me aparece cuando intento insertar valores a traves de un formulario.

Codigo

Código HTML:
<form action="agregarTarea.php" method="post">

							<table>								

								<tr>

									<th align="right">idor: </th>

									<td><input name="idOrdenReparacion" value="<?php echo $_GET['id']?>"/></td> 

								</tr>

								<tr>

									<a href="seleccionarOrden.php">Seleccionar la orden de reparacion</a> 

								</tr>

								<tr>

									<th align="right">Detalle: </th>

									<td><input name="det" value=""/></td> 

								</tr>

								<tr>

									<th align="right">Precio: </th>

									<td><input name="pre" value=""/></td> 

								</tr>

								<th align="right">Fecha: </th>

									<td>

									<th align="right">Dia: 

									<select name=dia>

									<option value="1">1</option>

									<option value="2">2</option>

									<option value="3">3</option>

									<option value="4">4</option>

									<option value="5">5</option>

									<option value="6">6</option>

									<option value="7">7</option>

									<option value="8">8</option>

									<option value="9">9</option>

									<option value="10">10</option>

									<option value="11">11</option>

									<option value="12">12</option>

									<option value="13">13</option>

									<option value="14">14</option>

									<option value="15">15</option>

									<option value="16">16</option>

									<option value="17">17</option>

									<option value="18">18</option>

									<option value="19">19</option>

									<option value="20">20</option>

									<option value="21">21</option>

									<option value="22">22</option>

									<option value="23">23</option>

									<option value="24">24</option>

									<option value="25">25</option>

									<option value="26">26</option>

									<option value="27">27</option>

									<option value="28">28</option>

									<option value="29">29</option>									

									<option value="31">31</option>

									</select>

									</th></td> 

									<td>

									<th align="right">Mes:

									<select name=mes>

									<option value="1">1</option>

									<option value="2">2</option>

									<option value="3">3</option>

									<option value="4">4</option>

									<option value="5">5</option>

									<option value="6">6</option>

									<option value="7">7</option>

									<option value="8">8</option>

									<option value="9">9</option>

									<option value="10">10</option>

									<option value="11">11</option>

									<option value="12">12</option>

									</select>

									</th></td> 

									<td>

									<th align="right">A&ntilde;o:

									<select name=anio>

									<option value="2000">2000</option>

									<option value="2001">2001</option>

									<option value="2002">2002</option>

									<option value="2003">2003</option>

									<option value="2004">2004</option>

									<option value="2005">2005</option>

									<option value="2006">2006</option>

									<option value="2007">2007</option>

									<option value="2008">2008</option>

									<option value="2009">2009</option>

									<option value="2010">2010</option>

									<option value="2011">2011</option>

									<option value="2012">2012</option>

									<option value="2013">2013</option>

									<option value="2014">2014</option>

									<option value="2015">2015</option>

									<option value="2016">2016</option>

									<option value="2017">2017</option>

									<option value="2018">2018</option>

									<option value="2019">2019</option>

									<option value="2020">2020</option>

									<option value="2021">2021</option>

									<option value="2022">2022</option>

									<option value="2023">2023</option>

									<option value="2024">2024</option>

									<option value="2025">2025</option>

									<option value="2026">2026</option>

									<option value="2027">2027</option>

									<option value="2028">2028</option>

									<option value="2029">2029</option>	 							

									<option value="2030">2030</option>

									</select>

									</th></td> 

									</tr>

								<tr>

									<th colspan="2"><input type="submit" value="Agregar" name="btnEnviar"/></th>

								</tr>

														

							</table>

						</form> 
Codigo de agregarTarea

Código PHP:
<?php

session_start
();

$_SESSION['agregar_count'] = '0';

include 
"funciones.php";



$fecha $_POST['anio'] . '-' $_POST['mes'] . '-' $_POST['dia']; 



if (!isset(
$_POST['det']) || !$_POST['det'])

{

    
$_SESSION['mensaje2'] = "Debe ingresar un nombre de usuario";

    
header("location: nuevaTarea.php");

    
$_SESSION['agregar_count'] = '1';

    exit;

}



if(

    isset(
$_POST["btnEnviar"]) &&

    
$_POST["btnEnviar"] == "Agregar"

    
){

    

    
$SQL="INSERT INTO Tarea VALUES ('$_POST[det]','$_POST[pre]','$_POST[idOrdenReparacion]' ,'$fecha')";

    
conectarse();

    
consulta($SQL);

    echo 
$SQL;

    if(
mysql_affected_rows()>0){

        
header("location: tareas.php");

        exit;

    }    

}

header("location: nuevaTarea.php");

exit;

?>
y en la bd tengo

Código:
--
-- Estructura de tabla para la tabla `Tarea`
--

CREATE TABLE IF NOT EXISTS `Tarea` (
  `idTarea` int(11) NOT NULL AUTO_INCREMENT,
  `detalle` varchar(45) COLLATE latin1_danish_ci DEFAULT NULL,
  `precio` varchar(45) COLLATE latin1_danish_ci DEFAULT NULL,
  `idOrdenReparacion` int(11) NOT NULL DEFAULT '0',
  `fecha` date NOT NULL,
  PRIMARY KEY (`idTarea`,`idOrdenReparacion`),
  KEY `fk_Tarea_OrdenReparacion1_idx` (`idOrdenReparacion`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci AUTO_INCREMENT=2 ;
el error es el siguiente
Código:
fallo mysql query Column count doesn't match value count at row 1
a quien me pueda dar una mano, agradecido
  #2 (permalink)  
Antiguo 09/11/2012, 13:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql query Column count doesn't match value count at row 1

Eso sucede cuando la consulta está mal formada, existen mas o menos valores que columnas descritas, no en la definición de la tabla sino en la misma consulta.

Cita:
INSERT INTO tabla(col1, col2, col3) VALUES('a', 'b')
Como puedes notar hay mas columnas especificadas que valores, eso es lo que te sucede.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/11/2012, 13:20
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: mysql query Column count doesn't match value count at row 1

Gracias amigo, me funcionó de esa forma! Pensaba que se iba a obviar la primera columna que tiene AUTO_INCREMENT. Mil gracias!
  #4 (permalink)  
Antiguo 09/11/2012, 13:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql query Column count doesn't match value count at row 1

Ese era precisamente el problema, cuando no especificas que columnas insertar se comienza desde la primera, evidentemente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formulario, mysql
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 10:38.