Foros del Web » Programando para Internet » PHP »

Que significa

Estas en el tema de Que significa en el foro de PHP en Foros del Web. hola que tal? tengo un formulario en donde se insertan datos pero al momento de darle aceptar me muestra el siguiente error: Column count doesn't ...
  #1 (permalink)  
Antiguo 31/07/2006, 12:02
AME
 
Fecha de Ingreso: julio-2006
Mensajes: 71
Antigüedad: 11 años, 5 meses
Puntos: 0
Que significa

hola que tal?

tengo un formulario en donde se insertan datos pero al momento de darle aceptar me muestra el siguiente error:

Column count doesn't match value count at row 1

aun no le e buscado el problema en mi formulario, lo cual este error no me permite actualizar mi base de datos.
garciass
saludos a todos
  #2 (permalink)  
Antiguo 31/07/2006, 12:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Sin codigo es dificil ver el problema, pero por el error que te arroja, quiere decir que estas o tratando de enviar mas valores que nombres de columna o viceversa, es decir:

Código:
INSERT INTO tabla( col1, col2, col3 ) VALUES( 'a', 'b' );
- o -


Código:
INSERT INTO tabla( col1, col2, col3 ) VALUES( 'a', 'b', 'c', 'd' );
  #3 (permalink)  
Antiguo 31/07/2006, 12:20
AME
 
Fecha de Ingreso: julio-2006
Mensajes: 71
Antigüedad: 11 años, 5 meses
Puntos: 0
HOLA

esta es una parte de mi codigo al insertar en la base de datos:

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SESSION_VARS['QUERY_STRING']))
{
$editFormAction.="?".$HTTP_SERVER_VARS['QUERY_STRING'];
}
if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1"))
{
$insertSQL = sprintf("INSERT INTO almacenaccesorios (FOLIO, IDHARDWARE, IdMarca, MODELO, DESCRIPCION, STATUS) VALUES (%s,%s,%s,%s,s%,%s)",
GetSQLValueString($HTTP_POST_VARS[FOLIO], "text"),
GetSQLValueString($HTTP_POST_VARS[Idhardware], "int"),
GetSQLValueString($HTTP_POST_VARS[IdMarca], "int"),
GetSQLValueString($HTTP_POST_VARS[MODELO], "text"),
GetSQLValueString($HTTP_POST_VARS[DESCRIPCION], "text"),
GetSQLValueString($HTTP_POST_VARS[STATUS], "text"));

mysql_select_db($database_conexion,$conexion);
$Result = mysql_query($insertSQL,$conexion) or die(mysql_error());

$insertGoTo = "almacen.php";
if (isset($HTTP_SERVER_VARS['QUERY_STRING']))
{
$insertGoTo .=(strpos($insertGoTo,'?')) ? "&" : "?";
$insertGoTo .=$HTTP_SERVER_VARS['QUERY_STRING'];
}
header(sprintf("Location:%s", $insertGoTo));
}
?>


esta es la parte donde introduzco el regsitro y no me la acepta:
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table width="73%" border="1" cellspacing="1" cellpadding="2" align="center">
<tr>
<td width="38%" rowspan="2">&nbsp;</td>
<td width="39%">FOLIO&nbsp;</td>
<td width="23%"><input name="FOLIO" type="text" size="5" maxlength="5" />
&nbsp;</td>
</tr>.

espero darme a entender y gracias por su ayuda.
  #4 (permalink)  
Antiguo 31/07/2006, 12:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Tienes un error en tu query, pero no es de SQL, es el identificador, sprintf reemplaza ciertos caracteres por otros, en este caso reemplaza %s por strings, en tu query tienes s% ese no es reemplazado, tienes que cambiarlo por %s:
Código:
$insertSQL = sprintf("INSERT INTO almacenaccesorios (FOLIO, IDHARDWARE, IdMarca, MODELO, DESCRIPCION, STATUS) VALUES (%s,%s,%s,%s,s%,%s)
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 23:59.