Foros del Web » Programando para Internet » PHP »

Problema para insertar datos en tabla de MySQL

Estas en el tema de Problema para insertar datos en tabla de MySQL en el foro de PHP en Foros del Web. Buenos Dias amigos, estoy escribiendoles para ver si me pueden ayudar con respecto al problema que tengo al tratar de insertar datos dentro de una ...
  #1 (permalink)  
Antiguo 29/05/2008, 07:53
 
Fecha de Ingreso: mayo-2008
Ubicación: Maturín
Mensajes: 26
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema para insertar datos en tabla de MySQL

Buenos Dias amigos, estoy escribiendoles para ver si me pueden ayudar con respecto al problema que tengo al tratar de insertar datos dentro de una tabla en MySQL a través de PHP. He buscado en Google, y en diversos foros, y he arreglado algunos errores encontrados, sin embargo, aun sigo teniendo el problema.

El mensaje que me devuelve el MySQL es:
"Column count doesn't match value count at row 1"

El codigo que estoy empleando para crear la Base de Datos es:

Código PHP:
$dbhost 'xmobiled789f3';
$dbuser 'root';
$dbpass '5Ev_a8Ow';
$dbname 'bd_web_proy';

$conn mysql_connect($dbhost$dbuser$dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);

$query  'CREATE DATABASE bd_web_proy';
$result mysql_query($query);

mysql_select_db('bd_web_proy') or die('Cannot select database');

$query 'CREATE TABLE datos_basicos_proy( '.
         
'id smallint(6) unsigned NOT NULL auto_increment, '.
         
'PROYECTO VARCHAR(20) NOT NULL, '.
         
'LIDER VARCHAR(15) NOT NULL, '.
         
'INDICADOR VARCHAR(12) NOT NULL, '.
         
'EXTENSION VARCHAR(6) NOT NULL, '.
         
'REF_PRESUPUESTARIA VARCHAR(12) NOT NULL, '.
         
'CUENTA VARCHAR(10) NOT NULL, '.
         
'CLIENTE VARCHAR(15) NOT NULL, '.
         
'PUNTO_FOCAL VARCHAR(15) NOT NULL, '.
         
'ALCANCE_TOTAL VARCHAR(500) NOT NULL, '.
         
'ALCANCE_ANO VARCHAR(500) NOT NULL, '.
         
'PRIMARY KEY(id))'.
         
'TYPE=MyISAM PACK_KEYS=1';
         

$result mysql_query($query);
mysql_close($conn); 
El formulario HTML que estoy empleando es:

Código HTML:
  <form method="post" action="add_reg.php">
   PROYECTO   :<input type="Text" name="proyecto"><br>
   LIDER:<input type="Text" name="lider"><br>
   INDICADOR :<input type="Text" name="indicador"><br>
   EXTENSION :<input type="Text" name="extension"><br>
   REF_PRESUPUESTARIA :<input type="Text" name="ref_presup"><br>
   CUENTA   :<input type="Text" name="cuenta"><br>
   CLIENTE   :<input type="Text" name="cliente"><br>
   PUNTO FOCAL   :<input type="Text" name="focal"><br>
   ALCANCE TOTAL   :<input type="Text" name="alcance"><br>
   ALCANCE AÑO   :<input type="Text" name="alcance_ano"><br>

   <input type="Submit" name="enviar" value="Aceptar información">
   </form> 
y el script que uso para insertar los datos es:

Código PHP:
$proyecto $_POST['proyecto'];
$lider $_POST['lider'];
$indicador $_POST['indicador'];
$ref_presup $_POST['ref_presup'];
$cuenta $_POST['cuenta'];
$cliente $_POST['cliente'];
$focal $_POST['focal'];
$alcance $_POST['alcance'];
$alcance_ano $_POST['alcance_ano'];


$dbhost 'xmobiled789f3';
$dbuser 'root';
$dbpass '5Ev_a8Ow';
$dbname 'bd_web_proy';

$conn mysql_connect($dbhost$dbuser$dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);

   
$sql "INSERT INTO `datos_basicos_proy` (`id`,`PROYECTO`, `LIDER`, `INDICADOR`, `EXTENSION`, `REF_PRESUPUESTARIA`, `CUENTA`, `CLIENTE`, `PUNTO_FOCAL`, `ALCANCE_TOTAL`, `ALCANCE_ANO`) VALUES ('', '$proyecto', '$lider', '$indicador', '$ref_presup', '$cuenta', '$cliente', '$focal', '$alcance', '$alcance_ano');";
   
$result mysql_query($sql) or die(mysql_error());
   echo 
"¡Gracias! Hemos recibido sus datos.\n"
He averiguado que este problema es debido a que no coinciden las columnas creadas en la Tabla con los datos que se quieren ingresar, o porque los datos en el campo Values no coninciden con las etiquetas puestas etc. Sin embargo, he revisado hasta el cansancio y aun no se cual puede ser el problema, puesto que veo que todo coincide. Inclui el campo Id tambien para probar pero no se si sea eso.
Mucho les agradeceria si me pudieran ayudar a encontrar el error...
Muchas Gracias
Dpernia
  #2 (permalink)  
Antiguo 29/05/2008, 08:04
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 11 meses
Puntos: 6
Respuesta: Problema para insertar datos en tabla de MySQL

Prueba poner tu INSERT asi:

Código:
sql = "INSERT INTO datos_basicos_proy (id, PROYECTO,  LIDER, INDICADOR,  EXTENSION,  REF_PRESUPUESTARIA, CUENTA,  CLIENTE,  PUNTO_FOCAL,  ALCANCE_TOTAL, ALCANCE_ANO) VALUES ('0', '$proyecto', '$lider', '$indicador', '$ref_presup', '$cuenta', '$cliente', '$focal', '$alcance', '$alcance_ano');"; 
   $result = mysql_query($sql) or die(mysql_error()); 
   echo "¡Gracias! Hemos recibido sus datos.\n";
saludos
__________________
"Eres grande por que caminas entre gigantes"
  #3 (permalink)  
Antiguo 29/05/2008, 08:56
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 15 años, 11 meses
Puntos: 5
De acuerdo Respuesta: Problema para insertar datos en tabla de MySQL

El problema es que estas especificando 11 columnas en la parte del INSERT(col1, col2, ..., col11) y en la parte del VALUES(valCol1, valCol2, ..., valCol10) solo le pasas 10.
Por eso es que dice Column count != Value count

Espero que sea eso,
Saludos!
  #4 (permalink)  
Antiguo 29/05/2008, 09:14
 
Fecha de Ingreso: mayo-2008
Ubicación: Maturín
Mensajes: 26
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa Respuesta: Problema para insertar datos en tabla de MySQL

Muchas Gracias Ferbux / Chitoso, efectivamente el problema era que estaba colocando el valor correspondiente a "id" como ' ', y tenia que colocarlo como '0'... y que faltaba un campo en el Values de la sentencia.

Saludos
Dpernia
  #5 (permalink)  
Antiguo 29/05/2008, 09:15
Avatar de Dansolo  
Fecha de Ingreso: junio-2007
Mensajes: 16
Antigüedad: 16 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Problema para insertar datos en tabla de MySQL

Tu campo 'id' esta definido como autoincrement....

no es necesario mencionarlo en la consulta cuando creas un nuevo registro...

INSERT INTO datos_basicos_proy (PROYECTO, LIDER, INDICADOR, EXTENSION, REF_PRESUPUESTARIA, CUENTA, CLIENTE, PUNTO_FOCAL, ALCANCE_TOTAL, ALCANCE_ANO) VALUES ('$proyecto', '$lider', '$indicador', '$extension', '$ref_presup', '$cuenta', '$cliente', '$focal', '$alcance', '$alcance_ano');";


Suerte...

-----------------------
Ticware.com
Internet para todos...
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:10.